Boris Zbarsky
be17e08640
Adding mandelbrot to trace-test
2008-10-02 19:30:46 -04:00
Brendan Eich
502fb4e4c8
Bug 456831 - TM: Trace JSOP_SETLOCALPOP (r=mrbkap).
2008-10-02 15:39:25 -07:00
Andreas Gal
49de341e4a
Fixed more confusion of quads/numbers while emitting LIR (bug 458076, r=danderson).
2008-10-01 18:04:39 -05:00
David Anderson
75e7abcf38
Fixed crash when charCodeAt failed (with NaN) while recording (bug 457795, r=gal).
2008-09-29 23:20:34 -05:00
Andreas Gal
36e0e1fcbf
Catch negative indexes at recording time. At runtime the builtins already check for us. Also guard for shape and setters/getters for non-dense integer index setelem case (57580, r=mrbkap).
2008-09-28 17:11:47 -07:00
Andreas Gal
e6006ef942
Add test case for 457456.
2008-09-27 13:13:42 -07:00
Andreas Gal
9960750440
Can't use JSVAL_IS_BOOLEAN on trace since boolean type contains undefined (457351, r=brendan).
2008-09-26 19:20:52 -07:00
Andreas Gal
884eabf3d5
Cleanup SETELEM, box early (in case we side exit on that) and don't set return value if INITELEM or followed by POP (457336, r=brendan).
2008-09-26 17:33:40 -07:00
Boris Zbarsky
fe2220afb1
Bug 456165 part 2. Trace Date.now. r=gal
2008-09-26 14:37:50 -04:00
Boris Zbarsky
a4b9ae6222
Bug 456370. Flush the fragment cache earlier on global shape mismatch. r=gal
2008-09-26 14:37:49 -04:00
Brendan Eich
8030ce9609
Bug 457130 - TM: regexp lastIndex property not traced correctly (r=danderson).
2008-09-25 17:45:14 -07:00
David Anderson
fca4e20f3a
Added test case for bug 456667.
2008-09-25 14:16:24 -07:00
Andreas Gal
5b117e1c3f
Rewrite and cleanup GETELEM and SETELEM (455748, r=brendan).
2008-09-25 11:31:40 -07:00
Andreas Gal
619234db4c
Back out attempt to invoke natives that return a boxed value (namely push and pop, 453734).
2008-09-24 15:18:19 -07:00
David Anderson
a53ee95a20
Fixed breaks in switch statements causing premature end-of-traces (bug 456345, r=gal,brendan).
2008-09-24 13:12:25 -07:00
Andreas Gal
958c18fb2a
Add builtin for invocation of match() on String objects (454682, r=danderson).
2008-09-23 17:18:40 -07:00
Andreas Gal
5054e0003b
Don't emit constant guards for switch and ifop (455605, r=danderson).
2008-09-22 17:58:25 -07:00
Boris Zbarsky
5bf1de2855
Bug 456369. Checking of JIT stats should not loop. r=brendan
2008-09-22 17:37:59 -04:00
Boris Zbarsky
f1b69640dd
Backed out changeset c0364f5e0a84
2008-09-21 09:02:09 -04:00
Boris Zbarsky
f068ba4b22
Adding missing file
2008-09-21 08:59:52 -04:00
Brian Crowder
d87b65397b
Add a JIT stats object in the shell
2008-09-19 22:47:58 -04:00
Boris Zbarsky
4b972f730f
Adding test for bug 451605
2008-09-19 21:58:00 -04:00
Andreas Gal
9d7afa336a
Add support for fast native that return jsval and wire up push/pop (453734, r=mrbkap).
2008-09-18 16:53:09 -07:00
Andreas Gal
9908bc1345
Merge.
2008-09-18 16:08:52 -07:00
Andreas Gal
2c406fe617
Add support for JSOP_NOT on strings (451787, r=danderson).
2008-09-18 16:04:54 -07:00
David Anderson
b895f26605
Fixed trying to record arguments past the formal arg count in JSOP_ARGSUB and JSOP_CALL (bug 455757, r=gal).
2008-09-18 15:23:22 -07:00
Andreas Gal
708f08ca9c
Properly handle side exits in scripted constructors (originally mrbkap, r=brendan, 453462).
2008-09-18 14:13:37 -07:00
Andreas Gal
183ab27e9d
Use Object as prototype if the prototype of the constructor is primitive (452960, r=mrbkap).
2008-09-16 18:49:27 -07:00
Andreas Gal
37a7d9274f
Add test case for 455408.
2008-09-16 08:07:01 -07:00
brendan
663c6aeb04
test_property_cache_direct_slot forgot to insist on a direct slot for get ops (453249, r=gal).
2008-09-15 19:40:43 -07:00
Andreas Gal
a580bcd185
Implement comparison of numbers against null (455293, r=brendan,danderson).
2008-09-15 15:30:06 -07:00
Andreas Gal
95068bdc26
Properly handle floating point array indexes (453261, r=brendan).
2008-09-15 15:00:40 -07:00
Blake Kaplan
4203e79309
Trace Math.max. r=brendan
2008-09-08 20:06:58 -07:00
Brendan Eich
623433f549
Merge.
2008-09-05 18:34:16 -07:00
Brendan Eich
fc936fa1da
Checkpoint arguments tour-de-force (453730).
2008-09-05 18:29:08 -07:00
David Anderson
9937dc1262
Trace through Math.log as a known native (bug 453868, r=brendan).
2008-09-05 14:25:01 -07:00
Blake Kaplan
b4d3674f58
Bug 453747 - Replace any holes on the stack with undefined. r=gal
2008-09-04 22:14:27 -07:00
David Anderson
09123ebd63
Don't guard on constant decisions, which will always have the same path (bug 452884, r=gal).
2008-09-04 14:44:59 -07:00
David Anderson
5e828c58d4
Fixed float ops to deal with being handed an LHS GPR reservation on AMD64.
...
Fixed nanojit LIR verbosity crashing on AMD64.
2008-09-04 11:53:49 -07:00
David Anderson
b791826dc5
Fixed JSOP_NEG with 0 being tracked as a promotable int, and added an equals-zero guard for the same opcode (bug 453049, r=gal).
2008-09-03 23:27:58 -07:00
Robert Sayre
7cca7713be
Add tests containing switch statements
2008-08-30 19:35:38 -04:00
Robert Sayre
52a7fb0b98
Add test for more bitwise ops
2008-08-30 19:20:54 -04:00
Andreas Gal
113ad8babe
Add builtins for toLowerCase, toUpperCase and replace(str,str) (452885, r=mrbkap).
2008-08-29 17:35:00 -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
5d132dba83
Record JSOP_IN (452563, r=gal).
2008-08-27 23:00:43 -07:00
Andreas Gal
4f51cac33e
Add test case for decaying inner loops that sometimes are not executed at all since the condition fails pre-entry.
2008-08-26 21:45:53 -07:00
David Anderson
357f1d4e64
Test case for bug 452340.
2008-08-26 20:02:59 -07:00
Robert Sayre
4bd48080dc
Add some tests for loops that should exit trace.
2008-08-26 18:46:50 -04:00
Brendan Eich
7adb43eaa6
Align test order with mozilla-central to avoid merge conflicts (I hope).
2008-08-26 12:50:01 -07:00
Robert Sayre
8ce085e0c6
Add test of (attempted) trace recording with an active call object
2008-08-25 17:12:41 -04:00
Brendan Eich
eb8bbd11d2
Cope with sub-optimal JSOP_FORNAME instead of JSOP_FORVAR inside a with, or similar (eval-created locals; 451806).
2008-08-24 08:18:17 -07:00
Andreas Gal
71b12b53fe
Enable outlining. If a loop doesn't connect back to its own header (i.e. break inside the loop), see if the outer loop path can be attached to the inner loop (outerlining). Added test case (failure mode is high number of activated traces in trace-test.js). This test exposes a regression in access-fannkuch. Committing so we can diagnose that separately.
2008-08-23 15:11:38 -07:00
Andreas Gal
454b252c63
If the outer loop has a value in a float register but the inner tree expects an int, tell the oracle that we want doubles in that slot in the inner tree and trash the inner tree so it gets re-compiled with a matching layout (451673).
2008-08-22 17:31:23 -07:00
Robert Sayre
c6a7088bae
Bug 451580, fix string split assertions and return values. Tests fail with JIT on for other reasons, it seems. r=shaver
2008-08-21 14:06:42 -04:00
shaver@mozilla.org
ed7fab1440
trace |new Array|, via the magic of copy and paste
2008-08-21 00:50:20 -07:00
Andreas Gal
3a4d105a0f
If the outer tree has a slot in an integer register, but the inner tree expects a double, make sure to promote the value before calling the tree, otherwise the inner tree will read the value from the stack incorrectly.
2008-08-20 00:51:56 -07:00
Andreas Gal
fb3cf056d9
Correctly calculate tree call stack adjustment, even if we don't have any arguments in the current frame and hand pick some cleanups from the backed-out changeset.
2008-08-19 23:31:33 -07:00
Andreas Gal
39d9d53d83
Back out multi-trees. There is absolutely no way this will be debugged in time for tomorrow. Need a bit more gdb man-power.
2008-08-19 23:28:13 -07:00
Andreas Gal
454c89d72b
Support multiple fragments with different entry maps per PC location.
2008-08-19 20:30:16 -07:00
Andreas Gal
1d0582a6ec
Add test case for type map merging (450535).
2008-08-15 16:04:44 -07:00
Andreas Gal
c42833b03c
Merge.
2008-08-15 10:12:47 -07:00
Andreas Gal
91a71447a9
Change sp_adj in guards to always reflect the current stack depth, so if we enter a trace/loop with something on the stack, sp_adj will reflect always at least that minimum amount. InterpState->sp now always runs in parallel with regs->sp of the current frame. This breaks nesting badly. I really need help with the stack layout logic.
2008-08-15 10:09:36 -07:00
Blake Kaplan
5aa5360905
bug 450529 - pass pc to String.prototype.match so we can avoid unnecessary object creation when tracing. r=brendan
2008-08-15 09:29:03 -07:00
Vladimir Vukicevic
61a89af8e6
b=450176; trace parseInt and parseFloat; r=gal
2008-08-14 15:13:39 -07:00
Andreas Gal
d6e6e333e2
Added bitsinbyte-ish testcase to trace-test.js. This currently still crashes the VM in nested mode.
2008-08-13 21:44:01 -07:00
Andreas Gal
c0e640829a
Added test case for nested exits.
2008-08-13 18:13:22 -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
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
David Anderson
a8821cdfc6
Added NaN test case that fails when jitting; currently looking into why.
2008-08-12 15:45:06 -07:00
shaver@mozilla.org
1813fb2fa7
NAMEINC, INCNAME, NAMEDEC, DECNAME
2008-08-12 11:33:40 -04:00
shaver@mozilla.org
cfc93a30d9
cmp over number and (string or bool or undefined)
2008-08-12 01:05:33 -04:00
Brendan Eich
daba5ef959
Dependent string test.
2008-08-11 20:26:04 -07:00
shaver@mozilla.org
16a7af3ef4
JSOP_EQ/NE for objects
2008-08-11 22:11:31 -04:00
Brendan Eich
64fc3b0367
- Fix shapeless callee guarding to guard on function object value.
...
- Add JSOP_NULLTHIS to help the tracer guard shapeless callees (see trace-tests.js)
- Culled bogus record_JSOP_CALLGVAR left-over forwarding to record_JSOP_GETGVAR.
- Better shapeless callee tests.
2008-08-10 22:36:48 -07:00
Brendan Eich
622dce0a42
joinTest.
2008-08-10 15:21:14 -07:00
Brendan Eich
8d0b5ebbdc
camelCaps test names restored (NewTest => newTest, etc.).
2008-08-09 22:24:49 -07:00
shaver@mozilla.org
a937f98d5b
JSOP_TYPEOF and JSOP_TYPEOFEXPR
2008-08-09 22:54:01 -04:00
shaver@mozilla.org
c4ca6755bf
Builtin for String.prototype.concat (single int-arg version)
2008-08-09 22:15:21 -04:00
shaver@mozilla.org
3341bf1c11
Implement cmp for string-on-string.
...
Add < and > tests for strings.
Condition the top-level truthies test on a synthetic test name, so it can be
excluded.
2008-08-09 21:50:52 -04:00
Brendan Eich
072c7b59a5
Guard against shapeless callees, with tests (more to do here, can't break the unknown callee case yet, but it should be breakable).
2008-08-08 16:37:01 -07:00
Brendan Eich
153e03bb32
Get operator new on interpreted functions working, along with JSOP_SETPROP on an unmutated object, or one of the right shape but where the setprop is adding the next property, and it's not in the object yet.
2008-08-08 14:38:44 -07:00
shaver@mozilla.org
7c89606155
add tests for missing and excess arity for trace-entry function context
2008-08-06 22:24:39 -04:00
Andreas Gal
c8df243f32
Fix nonEmptyStack1 test.
2008-08-06 17:44:39 -07:00
Brendan Eich
5331ec8967
Add first non-empty stack testcase, which now passes (yay).
2008-08-06 13:53:34 -07:00
shaver@mozilla.org
9615dbd804
add test for non-empty stack on trace entry (fails currently, but no longer crashes)
2008-08-06 16:12:49 -04:00
Brendan Eich
a1c6f2606a
Comment or/and test framework not being traceable.
2008-08-05 11:36:25 -07:00
Brendan Eich
5b9f299115
Fix TraceRecorder::ifop backward logic bug in the OBJECT case, and implement the STRING case. Add tests for truthy and falsy strings.
2008-08-02 16:51:22 -07:00
Brendan Eich
3488a68372
Restore lost or/and tests (hg strikes again, grrrr!)
2008-08-02 15:56:28 -07:00
shaver@mozilla.org
b078fb1509
Refactor trace-test.js to permit running a single test via js trace-test.js testName
.
2008-07-31 12:15:22 -07:00
shaver@mozilla.org
12614d0334
Coerce strings to numbers for appropriate ops.
...
(Wants a specialized StringToInt32 and a filter to put it in place.)
2008-07-31 07:41:58 -07:00
shaver@mozilla.org
959dd9184f
Implement JSOP_EQ and JSOP_NE over strings, plus JSOP_STRING.
2008-07-30 17:28:59 -07:00
shaver@mozilla.org
b1df95f721
Trace String.fromCharCode.
...
Handle failure signals of < 0 or NULL from traceable natives.
2008-07-30 15:19:25 -07:00
shaver@mozilla.org
ce85bd8955
JSOP_ADD over strings
2008-07-29 07:53:31 -07:00
shaver@mozilla.org
a8b963d4a4
Trace String.prototype.substring for two-arg case.
...
* Export str_substring as js_str_substring.
* Add basic String_p_substring builtin (only handle end > begin, both in range).
* Add String_p_substring_1 builtin for the missing-end case.
* INS_CONST for named constants in traces.
* Support boxing of strings.
* Support CALLPROP with primitive this.
* Support traceable natives which require cx and this.
* Support fallible traceable natives.
* Fix JSOP_LENGTH to use i2f on result (need that everything-is-doubles T-shirt).
* Add strings test.
2008-07-29 07:32:18 -07:00
Andreas Gal
e6cc02f5cc
If we see a f2i(UnboxDouble) chain, simplify it to UnboxInt32 which does the conversion internally. This also enables a fastpath to read 31-bit jsval integers from arrays.
2008-07-27 14:55:26 -07:00
Andreas Gal
02997616f4
Add a test case for trees.
2008-07-25 19:10:23 -07:00
shaver@mozilla.org
ef2e8305dc
Avoid tracking object properties, make incElem work.
2008-07-19 10:24:10 -07:00
shaver@mozilla.org
f91f913b49
move summarization to the end, so I can see it through the debug spew
2008-07-20 16:17:58 -04:00
Brendan Eich
a26be1bd4b
Fix incProp to box and store (incElem still todo).
2008-07-19 10:24:28 -07:00
David Anderson
4770d4b3e0
Got side exits seemingly working, added if.js to trace-test.js
2008-07-18 10:33:17 -07:00
shaver@mozilla.org
61d58bad87
Handle more operand types in ifop().
2008-07-18 08:01:51 -07:00
shaver@mozilla.org
78a73004ca
remove pointless untracedCall test
2008-07-17 08:43:55 -07:00
Andreas Gal
d158a8b778
Merge.
2008-07-17 02:03:56 -07:00
shaver
87eacb1139
Add setprop and tests for setprop and cleanup labling code for debug mode (m=gal).
2008-07-17 02:00:23 -07:00
shaver@mozilla.org
9929228e46
summarize test results
2008-07-17 01:58:34 -07:00
Andreas Gal
2bb0691553
Fixed call tests.
2008-07-16 22:08:59 -07:00
Andreas Gal
782f2b87ec
Fix typo in test cases.
2008-07-16 19:10:07 -07:00
Andreas Gal
25c6cd5ff1
Add testcase for chains for global calls.
2008-07-16 18:08:58 -07:00
Andreas Gal
dd7be4a81c
Add test case for CALLPROP.
2008-07-16 15:53:04 -07:00
Andreas Gal
7f119dc35a
Enable CALLNAME and add test case for it so we can call global functions.
2008-07-16 15:40:35 -07:00
Andreas Gal
fe50e4724a
Add test cases for call.
2008-07-16 15:26:51 -07:00
shaver@mozilla.org
f8c80ec490
CALLARG, CALLVAR
2008-07-15 23:37:57 -04:00
shaver@mozilla.org
21a3ec3485
implement JSOP_MOD
2008-07-15 23:19:29 -04:00
shaver@mozilla.org
3a4c348313
Trace JSOP_THIS and JSOP_THISPROP.
...
Rename getprop to get_prop, just because.
Extract COMPUTE_THIS to jsinterp.h as JS_COMPUTE_THIS for reuse in tracer.
2008-07-15 21:37:00 -04:00
shaver@mozilla.org
7d7ece76a8
GETVARPROP, GETARGPROP, GETXPROP
2008-07-15 13:17:51 -04:00
shaver@mozilla.org
5b3a9f8acc
expand int-equality tests
2008-07-13 22:33:08 -04:00
shaver@mozilla.org
b7dac1100d
add JSOP_NEG and tests
2008-07-12 00:20:48 -04:00
shaver@mozilla.org
fd5ac5b844
add Math.cos and Math.pow to the specialized-call party, and add tests
2008-07-12 00:03:33 -04:00
shaver@mozilla.org
873b045cb6
add reduced fannkuch version
2008-07-11 17:47:51 -04:00
shaver@mozilla.org
179d15ca7b
turn on all the shift tests, and find a bug with it!
2008-07-11 10:50:57 -04:00
Andreas Gal
25951074bc
Brendan fixed global variable access in non-top level code so re-enable that in trace-test.js. We pass all of shaver's trace torture tests.
2008-07-11 00:53:06 -07:00
Andreas Gal
cc38ec5e21
Don't crash when expecting an int32 as double box in unbox but getting something else (and better debug output).
2008-07-10 21:23:32 -07:00
Andreas Gal
ca4e6419ee
shaver's favorite operating system of choice doesn't like templates, so de-template tracker since we use it with LInsp only anyway.
2008-07-10 18:42:04 -07:00
shaver@mozilla.org
36027eae9d
update trace-test.js, now crashes calling lsh() the second time
2008-07-10 10:45:11 -04:00
shaver@mozilla.org
efcff4a09f
More tests, working on crashes.
2008-07-09 21:09:11 -04:00
shaver@mozilla.org
893dd15071
Update with some additional test coverage (crashes in setgvar test)
2008-07-09 08:11:03 -04:00
shaver@mozilla.org
4b276d07c9
reduce loop count in trace-test for faster interp runs
2008-07-08 00:18:10 -04:00
Andreas Gal
7eba55b32b
Merge.
2008-07-01 19:44:24 -07:00
shaver@mozilla.org
7d64331f38
beginning of trace-capability regression minisuite; will crash you today!
2008-07-01 22:21:11 -04:00