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 |
|
Andreas Gal
|
9ea4e8a477
|
Merge.
|
2008-08-12 16:57:55 -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 |
|
Brendan Eich
|
a4111eea56
|
Fix shapelessUnknownCalleeHelper.
|
2008-08-12 16:36:32 -07:00 |
|
Brendan Eich
|
0ceb399b55
|
Merge.
|
2008-08-12 16:35:11 -07:00 |
|
David Anderson
|
a8821cdfc6
|
Added NaN test case that fails when jitting; currently looking into why.
|
2008-08-12 15:45:06 -07:00 |
|
Brendan Eich
|
25fc093756
|
Fix annoying warnings, finally.
|
2008-08-12 14:50:42 -07:00 |
|
Andreas Gal
|
4b6c770288
|
Merge.
|
2008-08-12 14:29:09 -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 |
|
David Anderson
|
f4b6e09a98
|
Merge.
|
2008-08-12 11:53:24 -07:00 |
|
David Anderson
|
c340cb93c0
|
Only use fastcall on x86.
|
2008-08-12 11:46:57 -07:00 |
|
Brendan Eich
|
64fa74acf5
|
More guard argument formatting.
|
2008-08-12 11:36:52 -07:00 |
|
David Anderson
|
5e75ec729a
|
Merge.
|
2008-08-12 10:47:50 -07:00 |
|
David Anderson
|
40213894ff
|
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
|
3e4452be3c
|
fix !JS_TRACER build
|
2008-08-12 13:16:47 -04:00 |
|
shaver@mozilla.org
|
3f2af7e42d
|
add way to explicitly disable tracer for easier testing
|
2008-08-12 13:16:30 -04: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
|
74c6d3ffe3
|
Merge, plus ((void)0) parens.
|
2008-08-12 09:23:38 -07:00 |
|
Brendan Eich
|
fd08308ba0
|
Fix goto over init whinage.
|
2008-08-12 09:18:19 -07:00 |
|
shaver@mozilla.org
|
41a6158c57
|
fix build for !JS_TRACER, both threaded and switch interps
|
2008-08-12 12:09:59 -04:00 |
|
shaver@mozilla.org
|
9d4a33a8c6
|
guard all of jstracer.h against non-tracer builds
|
2008-08-12 11:36:29 -04: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
|
d491ed65d3
|
Fix some comments and tighten up assertions about block scope (mrbkap please look).
|
2008-08-11 23:45:40 -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
|
2553ace88f
|
mistaken relanding, didn't track merges well enough
|
2008-08-12 00:41:23 -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
|
daba5ef959
|
Dependent string test.
|
2008-08-11 20:26:04 -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 |
|
Brendan Eich
|
0ab33d4bfd
|
Argh, I hate hg.
|
2008-08-11 19:10:24 -07:00 |
|
Brendan Eich
|
9dd296d70a
|
Merge, in the name of all that which does not suck\!
|
2008-08-11 18:53:21 -07:00 |
|
David Anderson
|
9ce9cb42b5
|
Merge.
|
2008-08-11 18:49:34 -07:00 |
|
David Anderson
|
9c0315ccf7
|
Fragmento lifetime is now associated with the thread/runtime instead of the context.
|
2008-08-11 18:47:22 -07:00 |
|
Brendan Eich
|
7fbc9732fd
|
JSOP_LENGTH handles dependent strings now.
|
2008-08-11 18:41:06 -07:00 |
|
shaver@mozilla.org
|
6a35d8134e
|
implement JSOP_ADD(str, num)
|
2008-08-11 21:32:26 -04:00 |
|
David Anderson
|
c0b377bb8b
|
Fixed some explicit deallocation bugs that cropped up running in the browser.
|
2008-08-11 18:20:10 -07:00 |
|
Andreas Gal
|
ade8388ef5
|
Merge.
|
2008-08-11 18:03:31 -07:00 |
|
Andreas Gal
|
20318a6ce0
|
Trash tree if we see an obsolete treeinfo object on record.
|
2008-08-11 18:03:13 -07:00 |
|
Brendan Eich
|
5137a68ca5
|
Merge.
|
2008-08-11 17:54:59 -07:00 |
|
Andreas Gal
|
1f5ce03d99
|
Don't try to delete names if we are not building a DEBUG build.
|
2008-08-11 17:49:56 -07:00 |
|
Brendan Eich
|
d004346b52
|
Object.prototype.{hasOwnProperty,propertyIsEnumerable}.
|
2008-08-11 17:47:05 -07:00 |
|
Brendan Eich
|
9849ef7434
|
Handle multi-level property cache hits; put BRANCH_EXIT on its own line so it stands out as the third param to guard in ifop.
|
2008-08-11 17:40:26 -07:00 |
|
Brendan Eich
|
20ef6499d6
|
Make Print a fast native.
|
2008-08-11 16:19:55 -07:00 |
|
David Anderson
|
8e63b13307
|
Merge.
|
2008-08-11 16:15:01 -07:00 |
|
David Anderson
|
c5a85f7524
|
Merge.
|
2008-08-11 16:14:29 -07:00 |
|
Andreas Gal
|
b6bc18350b
|
Support non-flat strings in Any_getelem and Any_setelem.
|
2008-08-11 16:12:52 -07:00 |
|
David Anderson
|
1b623f7d25
|
Added explicit deallocation (bug 443500, r=gal)
|
2008-08-11 16:01:21 -07:00 |
|
Andreas Gal
|
80ab94547d
|
Remove obsolete Tests.cpp file.
|
2008-08-11 15:59:11 -07:00 |
|
Andreas Gal
|
020e68ab1e
|
Remove default parameter for guard, specify MISMATCH_EXIT explicitly.
|
2008-08-11 15:40:04 -07:00 |
|
Andreas Gal
|
00e5631b45
|
Remove dead code, add a debug printf.
|
2008-08-11 15:23:37 -07:00 |
|
Andreas Gal
|
7bcf550b11
|
If we get a series of tree type mismatches, trash the tree (and all dependent trees in case of nesting.)
|
2008-08-11 15:16:34 -07:00 |
|
Brendan Eich
|
391f5513d4
|
Fix FastNewObject built-in to create dense array instance with its own map.
|
2008-08-11 15:03:32 -07:00 |
|
Brendan Eich
|
0280e606df
|
Beware macro argument multiple expansion...
|
2008-08-11 14:44:22 -07:00 |
|
Brendan Eich
|
a2af1922f6
|
Merge.
|
2008-08-11 13:07:00 -07:00 |
|
Brendan Eich
|
40050a1e4d
|
Try fixing LOAD_INTERRUPT_HANDLER based on Andreas's patch.
|
2008-08-11 13:05:28 -07:00 |
|
Brendan Eich
|
7e793185ea
|
Match JSOP_NULLTHIS up to JSOP_NULL special cases in the decompiler.
|
2008-08-11 13:03:47 -07:00 |
|
Andreas Gal
|
120117749e
|
Don't try to access the name of arguments beyond nargs (r=brendan).
|
2008-08-11 12:47:18 -07:00 |
|