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
|
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 |
|
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 |
|
Brendan Eich
|
48181da4e7
|
Use aobj consistently in test_property_cache (450317).
|
2008-08-12 17:21:32 -07:00 |
|
Andreas Gal
|
d56662f293
|
Enumerate missing argument slots on the caller's stack and initialize them to undefined (450304).
|
2008-08-12 16:51:55 -07:00 |
|
Andreas Gal
|
1819586877
|
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 |
|
Brendan Eich
|
64fa74acf5
|
More guard argument formatting.
|
2008-08-12 11:36:52 -07:00 |
|
Brendan Eich
|
827b341985
|
Consolidate common name (global slot) addressing code.
|
2008-08-12 09:42:29 -07:00 |
|
Brendan Eich
|
26c7507913
|
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
|
fd08308ba0
|
Fix goto over init whinage.
|
2008-08-12 09:18:19 -07:00 |
|
shaver@mozilla.org
|
1813fb2fa7
|
NAMEINC, INCNAME, NAMEDEC, DECNAME
|
2008-08-12 11:33:40 -04:00 |
|
Andreas Gal
|
b94f5433e5
|
Merge.
|
2008-08-12 03:40:16 -07:00 |
|
Andreas Gal
|
b4f7639e6e
|
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
|
7e95e972d8
|
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
|
8d77aad49c
|
JSOP_FORNAME.
|
2008-08-12 01:06:02 -07:00 |
|
Brendan Eich
|
d2e6e9e641
|
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
|
e90731a3b6
|
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
|
cfc93a30d9
|
cmp over number and (string or bool or undefined)
|
2008-08-12 01:05:33 -04:00 |
|
shaver@mozilla.org
|
2b16f54740
|
reland eb01b1d55d9b after the mismerge
|
2008-08-12 00:37:16 -04:00 |
|
shaver@mozilla.org
|
ba5a56aa89
|
reland 3ea1e1317707 after the mismerge
|
2008-08-12 00:36:25 -04:00 |
|
Brendan Eich
|
2cbfd79ea0
|
Restore lost shaver rev 0e50c89c476b -- how did that get lost?
|
2008-08-11 20:27:47 -07:00 |
|
Brendan Eich
|
a63e9a65ba
|
Merge, sigh.
|
2008-08-11 19:21:42 -07:00 |
|
Brendan Eich
|
bba0ea3906
|
Rename js_DestroyJIT to js_FinishJIT to match Init/Finish vs. New/Destroy naming scheme used elsewhere; use same #if conditions around #include jstracer.h as around code depending on it.
|
2008-08-11 19:17:30 -07:00 |
|
shaver@mozilla.org
|
16a7af3ef4
|
JSOP_EQ/NE for objects
|
2008-08-11 22:11:31 -04:00 |
|