Commit Graph

18596 Commits

Author SHA1 Message Date
Brendan Eich
45ea54d2d1 Don't let GC run when recording. 2008-08-29 16:04:54 -07:00
Blake Kaplan
ee86ee3cf1 Bug 452329 - Fix a bad assumption. r=brendan 2008-08-29 16:03:18 -07:00
Blake Kaplan
48fb3e7f94 Bug 452875 - Ensure we intern the id for JSOP_IN. r=brendan 2008-08-29 15:59:09 -07:00
David Anderson
7515a0583e Merge. 2008-08-29 15:38:05 -07:00
David Anderson
f720beb914 Fixed double-as-integer check not handling negative zero (bug 452170, r=gal). 2008-08-29 15:37:37 -07:00
Andreas Gal
f29178e950 Track number of breaks we generate loop exits for. 2008-08-29 15:29:55 -07:00
Andreas Gal
1e41ca88af Long-form conditional branches (IFEQX, IFNEX) are never fused, so don't check for them in fuseIf. 2008-08-29 15:20:36 -07:00
Andreas Gal
57a8fae3d1 Merge. 2008-08-29 15:17:20 -07:00
Andreas Gal
9e7246a2b9 Track locations of control-flow merges in cfgMerges during recording (452869). 2008-08-29 15:12:17 -07:00
David Anderson
a2fdc866ff Fixed assumptions that nanojit's insCall() would not clobber the input argument array (bug 452853, r=gal). 2008-08-29 14:22:21 -07:00
David Anderson
f10bd19c8e Abort recording on invalid string indexes for JSOP_GETELEM (bug 452713, r=brendan). 2008-08-29 13:05:41 -07:00
Robert Sayre
f35adba372 Add tests covering division. 2008-08-29 13:04:08 -04:00
Robert Sayre
5d1f73ba74 Add tests for continue statement. 2008-08-29 11:01:56 -04:00
Brendan Eich
f92de94117 Fix bogus JOF_VARPROP test; fix uninitialized id in JSOP_IN recorder, should have caught it when I reviewed danderson's patch. 2008-08-29 00:58:10 -07:00
Brendan Eich
18d5749230 Fix upvar decompilation for eval-from-fun case (452441, r=igor). 2008-08-29 00:24:11 -07:00
Brendan Eich
655888f31e Consolidate equal and cmp code harder, trace switch ops, use INS_CONST more (bug to be filed -- bugzilla down atm). 2008-08-28 23:50:48 -07:00
Andreas Gal
1115d0162b Unroll loops we were not able to call once, but only if we don't have a tree available for that loop header. 2008-08-28 23:19:23 -07:00
Andreas Gal
535bdef3ee Merge. 2008-08-28 22:34:14 -07:00
Andreas Gal
c263b7a218 Merge. 2008-08-28 22:33:45 -07:00
David Anderson
951c95658a Fixed trying to record JSOP_IN with some unusuable left-hand values (bug 452724, r=brendan). 2008-08-28 22:33:32 -07:00
Andreas Gal
4fb4d1fdc5 Monitor downward branches only during recording (452709). 2008-08-28 22:33:22 -07:00
Brendan Eich
1f07d79c75 Abort trace if forInLoop values are not stable; currently, not strings (bug 452703). 2008-08-28 21:41:15 -07:00
Brendan Eich
25a591f870 Fixed bogus assertion in test_property_cache (bug 452693, r=dvander). 2008-08-28 21:15:39 -07:00
Jesse Ruderman
5663d9166a Turn NANO_DIE macro into NanoAssertFail function so that it shows up in stack traces. Having it appear in stack traces makes it clear the exit was due to an assertion failure rather than a real crash. Followup to bug 452674. 2008-08-28 19:07:49 -07:00
Andreas Gal
aaf46f467e Merge. 2008-08-28 17:47:11 -07:00
Andreas Gal
f10a08c384 Cleanup detection of gotos that were emitted as a result of a BREAK statement. 2008-08-28 17:46:25 -07:00
David Anderson
6ab07e371a Merge. 2008-08-28 17:28:36 -07:00
David Anderson
d5e48e84d7 Added descriptive messages to always-taken assertions in Nativei386.cpp. 2008-08-28 17:27:29 -07:00
Jesse Ruderman
db3a854298 Fix NanoAssertMsgf in non-debug builds. Regression from my patch in bug 452674. 2008-08-28 17:15:51 -07:00
Andreas Gal
65bc53f864 Merge. 2008-08-28 17:01:22 -07:00
Andreas Gal
c0e0852952 Notify the monitor of all branches, not just backwards branches. 2008-08-28 17:00:52 -07:00
Jesse Ruderman
67955c4c42 Add a message to a NanoAssert(0) to make it possible to match against. r=gal 2008-08-28 17:00:52 -07:00
Jesse Ruderman
12aa1d345a Bug 452674: change NanoAssert* macros to make it easier to check for nanojit assertions in automated testing. r=danderson. 2008-08-28 16:57:49 -07:00
Blake Kaplan
977123733e Bug 452338 - Abort on the weird case where we find a global name on the prototype of the scope chain. r=brendan 2008-08-28 16:37:03 -07:00
Andreas Gal
c274daed5c Merge. 2008-08-28 14:51:16 -07:00
David Anderson
1b50da7117 Abort recording on JSOP_INCPROP with an invalid slot (bug 452336, r=brendan). 2008-08-28 14:43:44 -07:00
Andreas Gal
453ea3339f If the inner tree cannot be adjusted to match the call site of the outer tree because it uses an int where the outer tree uses a double, trash the inner tree, not the outer one. In CallTree, return the innermost guard we return from, not the outermost one. Jump over at most 1 loop edge that doesn't go back to our own header, not an arbitrary amount. 2008-08-28 14:24:58 -07:00
David Anderson
48fe80af99 Merge. 2008-08-28 13:15:34 -07:00
David Anderson
eb051d8c73 Better fix for bug 451666 - only track new rval for primitives (r=brendan). 2008-08-28 13:14:59 -07:00
Blake Kaplan
1006bbf99c Bug 452333 - Don't push tagged jsvals on the stack. r=brendan 2008-08-28 12:40:48 -07:00
David Anderson
d7c4af1e0c Merge. 2008-08-28 11:56:45 -07:00
David Anderson
d7b5791be9 Track new rval from JSOP_RETURN when constructing inline frames (same as JSOP_STOP). 2008-08-28 11:55:58 -07:00
Blake Kaplan
2bcc0a39b5 Bug 452573 - The interpreter's JSOP_VOID doesn't push anything, so we shouldn't expect it to. r=brendan 2008-08-28 11:55:27 -07:00
Jesse Ruderman
df0d2c793b Remove extra space in tracing statistics message (bug 452571). r=gal 2008-08-28 00:16:50 -07:00
Jesse Ruderman
2530465041 Bug 452570 - NanoAssert doesn't end the message with a line break 2008-08-28 00:15:34 -07:00
Brendan Eich
5d132dba83 Record JSOP_IN (452563, r=gal). 2008-08-27 23:00:43 -07:00
David Anderson
d3cb344df7 Fixed asserting on valid LIR in AMD64 LIR_qcmov (bug 452545, patch from Makoto Kato). 2008-08-27 19:49:26 -07:00
Blake Kaplan
b9bf10f53c Merge again 2008-08-27 17:48:56 -07:00
Andreas Gal
2316d281a0 Keep unrolling inner loops as long we are not hitting the same inner loop edge twice in a row (452362). 2008-08-27 17:48:15 -07:00
Andreas Gal
4b9cda096c Merge. 2008-08-27 17:26:36 -07:00