Commit Graph

195130 Commits

Author SHA1 Message Date
Brendan Eich
5d0a08a7d2 Fix prototype hit case in prop to advance obj and obj_ins up the proto chain. 2008-08-13 17:10:18 -07:00
David Anderson
89a5d88baf Fixed from brendan for counting disparity between nativeStackSlots and FORALL_SLOTS_IN_PENDING_FRAMES.
Added debug code to catch future disparities.
2008-08-13 17:09:16 -07:00
Andreas Gal
07e6a68cd1 Don't print LeaveFrame debug info when falling out of the global frame. 2008-08-13 16:57:14 -07:00
Andreas Gal
9b749efb66 Merge. 2008-08-13 16:43:46 -07:00
Andreas Gal
f62d43d631 When re-importing register values after a tree call, make sure to use the inner tree's nativeStackBase, since we also use the inner tree's sp. 2008-08-13 16:29:59 -07:00
Brendan Eich
f2fee2e287 Fix bogus varval assert. 2008-08-13 16:14:22 -07:00
Andreas Gal
ffb0d48439 Merge. 2008-08-13 15:50:40 -07:00
Andreas Gal
c9fbefdb62 Read back registers used by inner tree relative to inner_sp (the adjusted sp value). Print frames we enter into and return to in Enter/LeaveFrame. 2008-08-13 15:50:11 -07:00
Brendan Eich
a0f5d832bc Major and winning overhaul to for-in codegen (mad props to Andreas for advice). 2008-08-13 14:02:35 -07:00
Andreas Gal
592e676197 Don't call inner trees if they use global slots since we don't support those in inner trees yet. 2008-08-13 14:00:37 -07:00
Andreas Gal
360cb15744 Merge. 2008-08-13 13:52:21 -07:00
Andreas Gal
6305043414 Flexible call stack allocation with proper guarding for call stack overflows. 2008-08-13 13:51:59 -07:00
David Anderson
b08c4085bb Fixed ifop predicting NaNs as true when they should be false. 2008-08-13 12:25:50 -07:00
Andreas Gal
d7f9895b8b Assert on bogus always-exit guards. 2008-08-13 12:01:06 -07:00
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