Commit Graph

195016 Commits

Author SHA1 Message Date
David Anderson
ee2694d8ff Fixed ExprFilter emitting corrupt LIR when reducing guards. 2008-08-13 11:11:37 -07:00
Andreas Gal
81e22ff457 Merge. Nothing to see here. Move along. 2008-08-13 03:55:24 -07:00
Andreas Gal
74bacf0d06 Blacklist a trace if we hit a global shape mismatch. This makes us suck less on date-format-tofte until we find a way to fix the property cache misses. 2008-08-13 03:54:54 -07:00
Andreas Gal
7bc01778bd Only trash the tree, not the entire cash, on global shape mismatch. 2008-08-13 03:50:53 -07:00
Brendan Eich
27ff2113af Fix deep for-in loop bug (450334). 2008-08-13 00:41:13 -07:00
Brendan Eich
4a72dd56c8 Add missingArgTest2 to cover the nativeStackOffset bug fixed recently. 2008-08-12 23:58:50 -07:00
Andreas Gal
897ca675bc Merge. 2008-08-12 23:31:12 -07:00
Andreas Gal
67e3a6d51b Don't cache loads in import into the nativeFrameTracker, since when coming back from a nested tree we re-load the frame state into registers using import() based on the called tree's state, which pushes loads into the nativeFrameTracker that are relative to the inner tree's call depth. Only cache on writes now, which should be always safe. 2008-08-12 23:30:49 -07:00
Brendan Eich
0b8f3ec929 Remove bogus assertion. 2008-08-12 23:30:38 -07:00
Andreas Gal
4d7af31b61 Merge. 2008-08-12 23:25:40 -07:00
Andreas Gal
ad62482aae When re-importing registers after a tree call, make sure to use the inner trees calldepth at its side exit, not the call depths of the calling tree. 2008-08-12 23:25:17 -07:00
Brendan Eich
527116dc5d Fix missing argument stack offset computation (in both places: FORALL_FRAME_SLOTS and nativeStackOffset). Clear missing args in nativeFrameTracker. 2008-08-12 23:21:52 -07:00
Andreas Gal
a122c24f09 Introduce a large fixed-size native frame stack and store its ceiling in state->eos. 2008-08-12 21:39:44 -07:00
Andreas Gal
3b1435ec1b Merge. 2008-08-12 20:19:05 -07:00
Andreas Gal
259fd32832 Hands down the hardest bug I had to debug in TM so far. Make sure to read back any registers an inner tree might have changed before writing out the typemap for the nested_exit guard, otherwise we might be pointing to old stale pre-(inner-)loop state and pick an incorrect (in this case too narrow) type. fannkuch=2.8x with this. 2008-08-12 20:18:29 -07:00
Brendan Eich
161f3ee0d3 - Add String match and three replace overloadings, and allow known native matching to continue in search of exact match (not best, and not abort on first mismatch).
- Add CallGetter built-in and use it for regexp class-getter-implemented prototype properties.
- Add BUILTIN5 support (this should be "it" ;-).
2008-08-12 18:52:28 -07:00
Andreas Gal
c4b577b4a7 Merge. 2008-08-12 17:40:56 -07:00
Andreas Gal
71a25465c1 Add constvalp and isconstp to LIR instructions (nanojit). 2008-08-12 17:37:38 -07:00
Brendan Eich
cf7235c9c7 Use aobj consistently in test_property_cache (450317). 2008-08-12 17:21:32 -07:00
Andreas Gal
5180dbdb1c Merge. 2008-08-12 16:57:55 -07:00
Andreas Gal
0342908813 Enumerate missing argument slots on the caller's stack and initialize them to undefined (450304). 2008-08-12 16:51:55 -07:00
Brendan Eich
3fe880522e Fix shapelessUnknownCalleeHelper. 2008-08-12 16:36:32 -07:00
Brendan Eich
1d5c5b2b3b Merge. 2008-08-12 16:35:11 -07:00
David Anderson
487b7c9a71 Added NaN test case that fails when jitting; currently looking into why. 2008-08-12 15:45:06 -07:00
Brendan Eich
8e3d3753cd Fix annoying warnings, finally. 2008-08-12 14:50:42 -07:00
Andreas Gal
463f13293a Merge. 2008-08-12 14:29:09 -07:00
Andreas Gal
cbd19ae50d js_obj_hasOwnProperty is supposed to return a boolean but was incorrectly generating code to return a number, resulting on a failure in the boolean comparison due to an unexpected i2f (450304). 2008-08-12 14:28:15 -07:00
David Anderson
e97997eef5 Merge. 2008-08-12 11:53:24 -07:00
David Anderson
768c8b4cf9 Only use fastcall on x86. 2008-08-12 11:46:57 -07:00
Brendan Eich
5f632a4da8 More guard argument formatting. 2008-08-12 11:36:52 -07:00
David Anderson
84344430f2 Merge. 2008-08-12 10:47:50 -07:00
David Anderson
8bda2d0857 Fixed nanojit using a variable before it got set (verbosity mode only it seems). 2008-08-12 10:45:24 -07:00
shaver@mozilla.org
419fd08a5f fix !JS_TRACER build 2008-08-12 13:16:47 -04:00
shaver@mozilla.org
8c4e95c301 add way to explicitly disable tracer for easier testing 2008-08-12 13:16:30 -04:00
Brendan Eich
29cfda93a5 Consolidate common name (global slot) addressing code. 2008-08-12 09:42:29 -07:00
Brendan Eich
f03a4a89b8 Put trailing args on their own lines when they otherwise would seem to associate with a nested call in a previous arg position. 2008-08-12 09:27:54 -07:00
Brendan Eich
ceb8e7bca7 Merge, plus ((void)0) parens. 2008-08-12 09:23:38 -07:00
Brendan Eich
e4661b0de3 Fix goto over init whinage. 2008-08-12 09:18:19 -07:00
shaver@mozilla.org
50a8f5de75 fix build for !JS_TRACER, both threaded and switch interps 2008-08-12 12:09:59 -04:00
shaver@mozilla.org
1c378f9ce8 guard all of jstracer.h against non-tracer builds 2008-08-12 11:36:29 -04:00
shaver@mozilla.org
05f44e8d71 NAMEINC, INCNAME, NAMEDEC, DECNAME 2008-08-12 11:33:40 -04:00
Andreas Gal
321fa72911 Merge. 2008-08-12 03:40:16 -07:00
Andreas Gal
82e54245dc Don't read type from typemap if we already have it in a local variable. 2008-08-12 02:00:05 -07:00
Andreas Gal
187cf6aa90 Don't re-record traces over and over in case of excessive type mismatches. Instead, blacklist the fragment and slowly back away from recording it. 2008-08-12 01:31:28 -07:00
Brendan Eich
f463732cc4 JSOP_FORNAME. 2008-08-12 01:06:02 -07:00
Brendan Eich
1aa45f0af0 Factor forInOp from JSOP_FORLOCAL, use it from JSOP_FORARG's recorder too; tighten up JSOP_SETNAME. 2008-08-12 00:34:43 -07:00
Brendan Eich
ffaea5a969 Fix some comments and tighten up assertions about block scope (mrbkap please look). 2008-08-11 23:45:40 -07:00
Brendan Eich
d5a31d6582 Comments for JSOP_{,STRICT}{EQ,NE} about the layering and constraints on evolution of the non-strict equality ops' recorders. 2008-08-11 23:44:43 -07:00
shaver@mozilla.org
7c6039450b cmp over number and (string or bool or undefined) 2008-08-12 01:05:33 -04:00
shaver@mozilla.org
54767150ba mistaken relanding, didn't track merges well enough 2008-08-12 00:41:23 -04:00