Jeff Walden
7b5179a175
Bug 514568 - Add JSObject::callIsForEval rather than using JSObject::getCallObjCallee() == NULL. r=igor
2011-01-05 14:54:04 -06:00
Jeff Walden
e93935e339
Bug 514568 - Trace strict eval frame Call objects correctly, keep the eval script safe from GC, and properly put strict eval Call objects when the script completes. r=igor
2011-01-05 13:55:18 -06:00
Robert Sayre
a562bdb2a8
Backed out changeset 2e94f0b8d03c
2011-01-06 21:41:25 -05:00
Jeff Walden
9bfd43b2d9
Bug 514568 - Trace strict eval frame Call objects correctly, keep the eval script safe from GC, and properly put strict eval Call objects when the script completes. r=igor
2011-01-05 13:55:18 -06:00
Jeff Walden
de8c94c378
Bug 514568 - Use a fresh variable environment for strict mode code run by eval, and give strict mode eval code frames a Call object backed by those variables. r=igor
2010-10-12 11:38:06 -07:00
Jeff Walden
f489d4756b
Bug 621943 - Generator frames don't correctly steal strict arguments from stack frames. r=luke
2011-01-01 23:34:33 -06:00
Luke Wagner
57bcfa328d
Bug 612329 - Don't cache code-ptr in Invoke gatling gun (r=waldo)
2011-01-03 09:06:30 -08:00
Jeff Walden
59814e4551
Bug 620315 - "Assertion failure: unexpected constantly false guard detected" with "use strict", 4 > this. Fix a problem where we weren't marking functions created by |new Function| as accepting a primitive this value when their body was strict mode, by removing the duplicative bit that was being checked. r=dmandelin
2010-12-22 18:05:07 -05:00
Steve Fink
663f65a576
Bug 615277 - Implement topLevelHook for JM, match jsinterp.cpp implementation. r=dmandelin
...
--HG--
extra : rebase_source : 0eb332476f259b0ff256a9113d2955d55ec4ed45
2010-12-10 11:40:00 -08:00
Jason Orendorff
40cdddfee7
Bug 617405 - Assertion failure: isObject() after defining getter on .prototype property of constructor. Take 2, removes two wrong tests. r=Waldo. (Additional r=Waldo on IRC to remove the tests.)
...
--HG--
extra : rebase_source : 288d966f1ee349e489e0151f8b2672ce4b611c56
2010-12-08 17:01:42 -06:00
Jason Orendorff
02972ef6e4
Backed out changeset b890994e2595. Orange.
2010-12-08 17:42:35 -06:00
Jason Orendorff
66de58ce24
Bug 617405 - Assertion failure: isObject() after defining getter on .prototype property of constructor. r=Waldo.
...
--HG--
extra : rebase_source : 63c64f5435059473fdc3d2cff7df906628c2a760
2010-12-08 17:01:42 -06:00
Luke Wagner
4e2b64b09c
Bug 612329 - Don't use gatling gun in debug mode; temporarily assert in release that cached code ptr is valid (r=damdelin)
2010-11-16 14:50:55 -08:00
timeless
953d1ecec1
Bug 609687 - Don't call call hook with null hook data (r=lw)
2010-11-16 14:16:49 -08:00
Luke Wagner
a96ea21a31
Bug 603193 - Set JSFRAME_HAS_PREVPC when activating generator (r=dvander)
2010-11-12 17:40:24 -08:00
Steve Fink
80ba8d7cfd
Bug 605330 - extend jscalls (bug 507012) tracking to cover JM and fix some mismatched calls, r=dvander, a=NPODB
...
--HG--
extra : rebase_source : 77f64a8ee2c88cbb00ac5671ba2532f71551f28b
2010-09-20 12:43:51 -07:00
Luke Wagner ext:(%2C%20Jan%20de%20Mooij%20%3Cjandemooij%40gmail.com%3E)
43464cfd48
Bug 595884 - JM: make f.apply(x, arguments) fast (r=dvander)
...
--HG--
extra : rebase_source : 81f5bd888164aecab2f3e701fb31ccf81affbc21
2010-10-21 11:42:28 -07:00
Luke Wagner
6b39ea3337
Bug 605192 - JM: make f.apply(x, obj) fast, part 2 (r=dvander)
...
--HG--
extra : rebase_source : ed6ddf4e79424bfd22ad9daf79675ac0eef5b16a
2010-10-20 23:52:55 -07:00
Luke Wagner
036c4f5377
Bug 606138 - Gatling gun should guard against clobbered callee/this (r=waldo)
2010-10-28 17:26:19 -07:00
David Anderson
2f0a83a27d
Remove JSOP_BEGIN and fix tracer integration issues (bug 603044, r=luke+dmandelin).
2010-10-15 11:36:56 -07:00
David Anderson
0c625a8d1a
Backed out changeset 8ea3083a9787
2010-10-15 15:29:57 -07:00
David Anderson
3b03a237fa
Remove JSOP_BEGIN and fix tracer integration issues (bug 603044, r=luke+dmandelin).
2010-10-15 11:36:56 -07:00
Nicholas Nethercote
1c23e0dd04
Bug 603825 - Fix a bunch of warnings. r=jwalden.
2010-10-13 16:49:53 -07:00
Jeff Walden
4626f47ec6
Bug 514570 - 3 - Don't box |this| for strict mode functions. r=jorendorff
2010-10-12 11:50:03 -07:00
Jeff Walden
fcbd8eb10b
Bug 514570 - 1 - Convert primitive-this-of-type function flags into a single primitive-this flag, to pave way for strict mode unadulterated-this passing. r=jorendorff
2010-10-12 11:50:02 -07:00
Luke Wagner
cbc9601aa0
Bug 581893 - build a js::Invoke Gatling gun (r=waldo)
2010-09-28 15:23:43 -07:00
Luke Wagner
407b2242d7
Bug 598682, part 2 - Minor cleanups to jsinterp.h and jsinterpinlines.h (r=bhackett)
...
--HG--
extra : rebase_source : bd664d9cd752992faa280d8d3a848058883f57e4
2010-10-05 14:41:58 -07:00
Jim Blandy
b423689891
Bug 598682, part 1 - Minor cleanups to jsinterp.h and jsinterpinlines.h (r=lw)
...
--HG--
extra : rebase_source : ce5adce0b4f5155afd958f2a083085baf4dbe643
2010-10-05 14:41:55 -07:00
Brian Hackett
d73a0b5f82
Lazify fp->scopeChain, JM call path cleanup. bug 593882, r=lw,dvander.
2010-10-03 08:21:38 -07:00
Bill McCloskey
20e3b7290e
Bug 535912 - Eliminate blockChain from JSStackFrame (r=cdleary)
2010-09-29 13:21:36 -07:00
Brian Hackett
1ddca3c75a
Improved JM call path, bug 587707. r=lw,dvander
2010-09-29 06:27:34 -07:00
Chris Leary
2fa4fedbc1
Bug 540675: eviscerate JSStackFrame::callerVersion. (r=lw)
2010-09-13 09:38:22 -07:00
Luke Wagner
562fc49870
Bug 539144 - Make formal args a jit-time const offset from fp; rm argv/argc/thisv/script/callobj (r=brendan,dvander)
2010-08-09 22:43:33 -07:00
Luke Wagner
35220d90f3
Bug 619565 - Fix activation object handling by InvokeSessionGuard (r=waldo,a=shaver)
...
--HG--
extra : rebase_source : 24e4d6ecf1cb9696fda7468eb631f13d92d7ab7a
2011-02-24 12:34:33 -08:00
Robert Sayre
377db48438
Merge tracemonkey to mozilla-central. a=blockers
2011-02-25 10:00:38 -08:00
Brendan Eich
84c3f82dee
Further comment fussing (636364, r=me).
2011-02-24 11:13:55 -08:00
Brendan Eich
1fb329e418
Fix comment glitch in last push (636364, r=me).
2011-02-24 11:12:03 -08:00
Brendan Eich
bb7ac49211
Followup fixes and tests in wake of global |this| binding change (636364, r=luke/gal/dvander, thanks to Waldo for the newGlobal shell function).
2011-02-23 19:38:27 -08:00
Luke Wagner
977d6849b3
Bug 635811 - prevent call objects from escaping on error paths (r=dvander,a=hardblocker)
2011-02-23 14:47:34 -08:00
Luke Wagner
08e66296bc
Bug 634542 - Back out diagnostic patches (r=dvander,a=backout)
2011-02-19 14:37:46 -08:00
Luke Wagner
e8cc2a25ba
Luke Wagner – Bug 634542 - Temporary diagnostic patch 2 (r=dvander,a=shaver)
2011-02-18 18:38:10 -08:00
Luke Wagner
04ad54d7a4
Bug 634542 - Temporary diagnosis patch (r=dmandelin,a=shaver)
2011-02-17 21:42:27 -08:00
Jason Orendorff
25153c3c13
Bug 500431 part 1 - Move property cache code to jspropertycache{.h,.cpp,inlines.h}. r=brendan.
...
--HG--
extra : rebase_source : f7a7bb63bc3cded9452807ecdd0b5b8e8f5b3ff6
2010-03-24 16:16:01 -05:00
Brendan Eich
f819b36cf4
Use direct object shape instead of identity as key for deep property cache hits (497789, r=jorendorff).
2010-03-22 11:11:44 -07:00
Igor Bukanov
f74b35769d
bug 538463 - caching only single-threaded objects. r=jorendorff
2010-02-03 13:42:07 +03:00
Luke Wagner
d45e4526c5
Weaken overzealous assert in JSStackFrame::resetInvokeCallFrame (r=warnings-as-errors)
2011-03-23 19:12:40 -07:00
Luke Wagner
0c2e8ddaba
Bug 636296 - Put activation objects when we pop the frame, not in ScriptEpilogue (r=dvander)
2011-03-14 11:30:36 -07:00
Luke Wagner
a15ba4f804
Bug 636296 - Change meaning of JSStackFrame::hasCallObj to be more sane (r=waldo)
2011-03-14 11:30:36 -07:00
Luke Wagner
5359dd7f1a
Bug 636296 - Split out ScriptDebug{Pro,Epi}logue (r=dvander)
2011-03-14 11:30:35 -07:00
Luke Wagner
c10400d3f1
Bug 636296 - Tidy up JSStackFrame (r=dvander)
2011-03-14 11:30:35 -07:00
shaver@mozilla.org
5089017f47
only build JIT builtins if ENABLE_JIT, and lose antique *inlines.h
2008-07-11 00:10:27 -04:00
Andreas Gal
6eb6314e75
Support recording of ValueToECMAInt32, ValueToECMAUint32 and ValueToBoolean.
2008-07-02 21:48:42 -07:00
Andreas Gal
e70272bfab
Removed attempt to imply ints into doubles on the fly. This can't work. Use proper float loads where needed and add some initial code for builtin functions.
2008-07-02 14:38:12 -07:00
Andreas Gal
42fcff4b38
Backed out changeset 745089a5d1c5
2008-07-02 09:35:08 -07:00
shaver@mozilla.org
fca47a2d95
no need for rooting of integer values
2008-07-02 08:11:27 -04:00
Andreas Gal
8113879262
This patch eliminates ValueToECMAInt32 and instead tries to emit specialized code depending on the true type. 32-bit integers are detected and treated like integers in fetch_int via ValueToECMA32. Similarly, int store_int NewIntInRootedValue is used if the value is really an underlying int. NewIntInRootedValue is a nop on the trace.
2008-07-02 03:33:18 -07:00
shaver@mozilla.org
d571eaac32
Merge with mozilla-central as of c5dc9d84d476, and restore obj-to-boolean fixes
...
from 2b107c27dedf (accidentally backed out during an earlier merge). 22 test
suite failures for -L lc2 lc3 spidermonkey-n slow-n, probably needs some guard
work in TRY_BRANCH_AFTER_COND.
2008-06-29 10:01:59 -04:00
shaver@mozilla.org
fac133d1e5
Implement icmp_ne (in terms of LIR_ugt(i, 0)!) and make JSOP_NE traceable.
2008-06-28 17:47:33 -04:00
Andreas Gal
b6773c0340
Move obj_is_xml into interp since its not a primitive.
2008-06-28 10:12:24 -07:00
Andreas Gal
44e0963c4e
Merge.
2008-06-28 09:58:48 -07:00
Andreas Gal
1f37ae3e62
Small cleanups and licensing blurb housekeeping.
2008-06-28 09:58:15 -07:00
shaver@mozilla.org
cc9079bc60
More work on tracing EQUALITY_OP. Still need to synthesize LIR_ne before it
...
traces correctly. (This loses the length-test equality-check short-circuit
for strings, until such time as we have a builtin for EqualStrings as well:
regresses js1_5/String/regress-322772.)
2008-06-28 12:46:21 -04:00
shaver@mozilla.org
4fc71515e0
Add guards for XML objects, and some tracer bits to accommodate them.
2008-06-27 23:58:06 -04:00
Andreas Gal
5d9de143af
More concise conversion from object to boolean.
2008-06-27 07:48:18 -07:00
Andreas Gal
e59076860a
Instead of guarding on null -> boolean conversion just emit a null compare and use the boolean result.
2008-06-27 06:53:10 -07:00
Andreas Gal
3492763c96
Throw out a bunch of primitives (guards) that we are no longer interested in.
2008-06-27 06:18:12 -07:00
Andreas Gal
49fe7a95eb
More cleanup and code move into TraceRecorder and prepare for LIR_ov.
2008-06-26 23:22:16 -08:00
Andreas Gal
3197b76462
Mork work on attaching nanojit to our primitives. Traces have now their own box type (Box), which is an opaque 64-bit value. Its never supposed to appear in the trace since we will optimize away all boxing operations.
2008-06-21 22:28:41 -07:00
Andreas Gal
e04746d2c0
Make fast inc/dec traceable.
2008-06-18 17:40:32 -07:00
Andreas Gal
1a0333027b
Added new primitive guard_can_do_fast_inc_dec and report reason for trace aborts.
2008-06-18 16:23:24 -07:00
Andreas Gal
6fedd2b687
Call into the recorder for each primitive. Don't use vp in primitives, use &v instead.
2008-06-15 16:31:28 -07:00
Brendan Eich
74c80d5597
Kill trailing spaces.
2008-06-11 13:07:24 -07:00
Andreas Gal
73698e5e72
Pass JSContext* to all primitives (needed by the recorder.)
2008-06-11 11:46:47 -07:00
Andreas Gal
50bf94c527
Notify recorder when tracing starts/stops. Restore code accidently lost during last merge.
2008-06-11 01:22:39 -07:00
Andreas Gal
c79c0bfeef
Added code to switch to the tracer and back. Incomplete and for review only.
2008-06-10 22:20:05 -07:00
Andreas Gal
17d0d41459
Added branch monitoring using a single unified branch frequency counter.
2008-06-10 16:49:05 -07:00
Andreas Gal
9684e2070f
Introduced a JavaScript recording script that is loaded dynamically.
2008-06-03 21:01:23 -07:00
Brendan Eich
b2ee0f4849
Fix so it compiles, also avoid else after return.
2008-06-03 12:37:20 -07:00
Andreas Gal
53060c32ce
Move all inlines that do not represent primitives out of jsinterpinlines.h since we don't have to overwrite them in jstracerinlines.h. They live in jsinterp.cpp now. Added missing error handling for prim_ddiv and prim_dmod. Make sure prim_ddiv and prim_dmod do not call other primitives. Fixed bug in dmod (-1 should be n, but since all invocations had n=-1 this was a non-issue).
2008-06-02 23:26:17 -07:00
Brendan Eich
ea827846a5
Avoid overlong lines per modeline comments.
2008-06-02 17:16:14 -07:00
Andreas Gal
a6ded872bf
Steer macro naming in jsinterinlines.h using a macro. This allows us to prefix all primitives with some prefix (i.e. interp_) when we compile the tracer and replace them with new primitives that invoke the interpreter version first, and then do some tracer specific action.
2008-05-29 17:14:42 -07:00
Brendan Eich
8bfb8bfef7
Split trace-supporting inlines, add ifdefs/macros for deriving js_TracingInterpret in jstracer.cpp.
2008-05-28 19:07:25 -07:00