Andreas Gal
|
8d4c97dbef
|
FlushNativeStackFrame currently only handles the innermost nested trees writeback, so at least make it use the proper adjusted stack base for that.
|
2008-08-13 19:23:28 -07:00 |
|
Brendan Eich
|
8efccf4d7d
|
Abort recording if unwinding from js_Interpret to js_Invoke and still recording (this can happen via fun.call/.apply). Also assert in threaded interpreter BEGIN_CASE and DO_OP (from END_CASE) that we either have no recorder or are using the recordingJumpTable.
|
2008-08-13 19:22:07 -07:00 |
|
Andreas Gal
|
01efe3882f
|
Update inlineCallCount with the total call stack height, which is the sum of rp_adj and any adjustments nested trees added. Also make sure to read all stack adjustment information from the tree we exit on, not the tree we entered (might be different in case of nesting.)
|
2008-08-13 19:09:05 -07:00 |
|
Andreas Gal
|
30b82dbcbd
|
Print relative stack instead of absolute stack address upon side exit (debug mode).
|
2008-08-13 18:28:43 -07:00 |
|
Andreas Gal
|
c0e640829a
|
Added test case for nested exits.
|
2008-08-13 18:13:22 -07:00 |
|
Andreas Gal
|
9350282579
|
Implement nested side exits.
|
2008-08-13 18:10:19 -07:00 |
|
Andreas Gal
|
222e746fe7
|
Merge. If I had a cent for every merge. Sigh.
|
2008-08-13 17:48:04 -07:00 |
|
Andreas Gal
|
f1d87d6234
|
Reshuffle code lines in the side-exit return path (do asserts closer to the GlobalFrame writeback.)
|
2008-08-13 17:47:18 -07:00 |
|
David Anderson
|
4d25c18771
|
Merge.
|
2008-08-13 17:46:58 -07:00 |
|
David Anderson
|
87d9c2089d
|
Merge.
|
2008-08-13 17:45:50 -07:00 |
|
Brendan Eich
|
fc782418ee
|
Set rval_ins with initializing=true because nothing will get the callee, so the tracker won't have tracked it yet if it's in virgin stack.
|
2008-08-13 17:45:49 -07:00 |
|
David Anderson
|
3652f7c126
|
Fix from brendan for propertyIsEnumerable having an inconsistent return type.
|
2008-08-13 17:44:26 -07:00 |
|
Brendan Eich
|
880030b373
|
Forgot to string-tag before going from atom to jsid in two builtins.
|
2008-08-13 17:20:16 -07:00 |
|
Andreas Gal
|
eac5c3ed47
|
Merge. Lame.
|
2008-08-13 17:13:53 -07:00 |
|
Andreas Gal
|
201341cfc5
|
Add nestedExit to InterpState and comment its fields.
|
2008-08-13 17:12:55 -07:00 |
|
David Anderson
|
a9922db939
|
Merge.
|
2008-08-13 17:12:08 -07:00 |
|
David Anderson
|
4c7aaa248b
|
Merge.
|
2008-08-13 17:11:22 -07:00 |
|
Brendan Eich
|
ca1e2a283a
|
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
|
fe66e966ca
|
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
|
ee55743358
|
Don't print LeaveFrame debug info when falling out of the global frame.
|
2008-08-13 16:57:14 -07:00 |
|
Andreas Gal
|
9c95a20382
|
Merge.
|
2008-08-13 16:43:46 -07:00 |
|
Andreas Gal
|
e702dc5ac4
|
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
|
7fc14c40cf
|
Fix bogus varval assert.
|
2008-08-13 16:14:22 -07:00 |
|
Andreas Gal
|
27c128f706
|
Merge.
|
2008-08-13 15:50:40 -07:00 |
|
Andreas Gal
|
e68f9ee859
|
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
|
3d21588b2c
|
Major and winning overhaul to for-in codegen (mad props to Andreas for advice).
|
2008-08-13 14:02:35 -07:00 |
|
Andreas Gal
|
892137794b
|
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
|
1d809d7adf
|
Merge.
|
2008-08-13 13:52:21 -07:00 |
|
Andreas Gal
|
fa09943222
|
Flexible call stack allocation with proper guarding for call stack overflows.
|
2008-08-13 13:51:59 -07:00 |
|
David Anderson
|
ff9bb9ea9d
|
Fixed ifop predicting NaNs as true when they should be false.
|
2008-08-13 12:25:50 -07:00 |
|
Andreas Gal
|
76a2288dcc
|
Assert on bogus always-exit guards.
|
2008-08-13 12:01:06 -07:00 |
|
David Anderson
|
b070351870
|
Fixed ExprFilter emitting corrupt LIR when reducing guards.
|
2008-08-13 11:11:37 -07:00 |
|
Andreas Gal
|
fa3085ca3d
|
Merge. Nothing to see here. Move along.
|
2008-08-13 03:55:24 -07:00 |
|
Andreas Gal
|
5d7914a698
|
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
|
2a60d7a27b
|
Only trash the tree, not the entire cash, on global shape mismatch.
|
2008-08-13 03:50:53 -07:00 |
|
Brendan Eich
|
ed5f8343a2
|
Fix deep for-in loop bug (450334).
|
2008-08-13 00:41:13 -07:00 |
|
Brendan Eich
|
9226769821
|
Add missingArgTest2 to cover the nativeStackOffset bug fixed recently.
|
2008-08-12 23:58:50 -07:00 |
|
Andreas Gal
|
335fb1edd8
|
Merge.
|
2008-08-12 23:31:12 -07:00 |
|
Andreas Gal
|
91e81a361d
|
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
|
17a4dd5c46
|
Remove bogus assertion.
|
2008-08-12 23:30:38 -07:00 |
|
Andreas Gal
|
8af146d25b
|
Merge.
|
2008-08-12 23:25:40 -07:00 |
|
Andreas Gal
|
a271a0ee0e
|
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
|
452bea0c69
|
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
|
58cd4dc419
|
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
|
3fd013cd9b
|
Merge.
|
2008-08-12 20:19:05 -07:00 |
|
Andreas Gal
|
ed3125b915
|
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
|
967ec56341
|
- 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
|
4ebf8a417d
|
Merge.
|
2008-08-12 17:40:56 -07:00 |
|
Andreas Gal
|
95c7647b28
|
Add constvalp and isconstp to LIR instructions (nanojit).
|
2008-08-12 17:37:38 -07:00 |
|
Brendan Eich
|
48181da4e7
|
Use aobj consistently in test_property_cache (450317).
|
2008-08-12 17:21:32 -07:00 |
|