Brendan Eich
c7604aac4c
- Support JSOP_CONDSWITCH's JSOP_CASE and extended-jump-offset JSOP_CASEX variants properly.
...
- Fix sleep-deprived constant conditions due to failure to test flags & CMP_TRY_BRANCH_AFTER_COND!
- Use new TraceRecorder::fuseIf that Andreas added in a few more places where the previous try-branch-after-cond logic was open-coded.
2008-08-30 00:01:59 -07:00
Blake Kaplan
2782b3de85
Fix gmail crash by not tracing switches. r=brendan
2008-08-29 19:01:00 -07:00
Blake Kaplan
219161a0aa
Abort (deeply) if we re-enter js_Interpret in the middle of a trace. r=brendan
2008-08-29 18:59:21 -07:00
Andreas Gal
ea15fc19ef
Fixed an signed/unsigned comparison warning in an assert in jstracer.cpp.
2008-08-29 17:54:39 -07:00
Andreas Gal
33c4a8e742
Merge.
2008-08-29 17:35:34 -07:00
Andreas Gal
113ad8babe
Add builtins for toLowerCase, toUpperCase and replace(str,str) (452885, r=mrbkap).
2008-08-29 17:35:00 -07:00
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
Serge Gautherie
e9783ae60e
Bug 78388 - Fix uses of |new nsAutoString / nsCAutoString| in RuleProcessorData, r+sr=dbaron
2008-08-28 17:38:34 +02:00