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 |
|
Andreas Gal
|
418b15eadd
|
Flag a side exit as loop exit only if the underlying loop condition actually targets the current loop header, otherwise treat it as a branch exit. This is required for inner loops where we unroll the first iteration but the loop condition immediately fails. If we report such exits as loop exits, no branch gets ever attached to them and we keep side-exiting over and over.
|
2008-08-26 21:43:59 -07:00 |
|
David Anderson
|
357f1d4e64
|
Test case for bug 452340.
|
2008-08-26 20:02:59 -07:00 |
|
Brendan Eich
|
e326b78b55
|
Added knownNative for num_toString (bug 452340, r=dvander).
|
2008-08-26 20:00:11 -07:00 |
|
Robert Sayre
|
4bd48080dc
|
Add some tests for loops that should exit trace.
|
2008-08-26 18:46:50 -04:00 |
|
Andreas Gal
|
c4af944fe9
|
Merge.
|
2008-08-26 13:26:05 -07:00 |
|
Andreas Gal
|
40796f4154
|
For global code assume that no slots are below the current frame.
|
2008-08-26 13:25:40 -07:00 |
|
Brendan Eich
|
7adb43eaa6
|
Align test order with mozilla-central to avoid merge conflicts (I hope).
|
2008-08-26 12:50:01 -07:00 |
|
Andreas Gal
|
795f7ae426
|
Merge.
|
2008-08-26 01:01:24 -07:00 |
|
Andreas Gal
|
eb0c261390
|
When extending an outer tree from its nesting guard, the guard we actually exited on determines the typemap for the current frame and all inlined frames, whereas the nesting guard is consulted for all type information frames below the current frame.
|
2008-08-26 01:00:53 -07:00 |
|
Brendan Eich
|
a7cdb3ddb2
|
Fix warning.
|
2008-08-25 23:22:20 -07:00 |
|
Andreas Gal
|
4bb68b852c
|
Rename lr->anchor in AttemptToExtendTree()
|
2008-08-25 23:19:00 -07:00 |
|
Andreas Gal
|
24b663fd61
|
Determine the tree we have to grow from the side exit we attach to in AttemptToExtendTree() instead of passing the parameter in.
|
2008-08-25 23:17:38 -07:00 |
|
Brendan Eich
|
43b25b3c09
|
Rename gcDontBlock to runningJittedCode, and assert it's false on entry to js_Interpret (for 451657, but not the fix, just prolog).
|
2008-08-25 23:08:21 -07:00 |
|
Andreas Gal
|
e86ad8730d
|
Merge.
|
2008-08-25 22:11:23 -07:00 |
|
Andreas Gal
|
d00742c962
|
Add an assert checking that celldepth is zero upon loop exit side exits and better verbose diagnostic for trace exits.
|
2008-08-25 22:11:04 -07:00 |
|
Andreas Gal
|
c86c7d09fb
|
Generate an always taken LOOP_EXIT guard when an inner loop encounters a break statement. When returning from such an inner tree, make sure the recorder resumes at the target address of the goto the break was emitted as, otherwise the outer tree confuses the location with a break in its own loop. Disabled outerlining (this patch subsumes it, but we might enable it later since it might handle some cases more efficiently, currently off for debugging through). fasta currently asserts, and fannkuch hits a perf regression. These are probably bugs this change exposed.
|
2008-08-25 17:24:49 -07:00 |
|
Blake Kaplan
|
48d275806e
|
Bug 451785 - Trace == and != involving booleans. r=gal
|
2008-08-25 16:58:18 -07:00 |
|
Blake Kaplan
|
298caaa80f
|
Bug 451782 - Trace Math.ceil. r=brendan
|
2008-08-25 16:54:02 -07:00 |
|
Brendan Eich
|
70173fadfb
|
Merge.
|
2008-08-25 16:38:38 -07:00 |
|
Brendan Eich
|
9d19499490
|
Oops, forgot to make Print set *vp to undefined when I made it a FastNative.
|
2008-08-25 16:36:57 -07:00 |
|
David Anderson
|
e4ef2c3451
|
Merge.
|
2008-08-25 16:06:17 -07:00 |
|
Brendan Eich
|
b385e456d9
|
Fixed cases where argc varied between recording time and execution time (bug 451727).
|
2008-08-25 16:04:10 -07:00 |
|
Andreas Gal
|
99505fce2e
|
Merge.
|
2008-08-25 15:18:12 -07:00 |
|
Andreas Gal
|
fc5667ef13
|
Split closeLoop() and compile() and add endLoop(), which omits an always-exit guard (will be used for break statements.)
|
2008-08-25 15:17:46 -07:00 |
|
Robert Sayre
|
7fd9b9c91b
|
Merge
|
2008-08-25 17:38:42 -04:00 |
|
Andreas Gal
|
8a6d79d6b6
|
Annotate gotos that are emitted for break statements with SRC_BREAK (452122, r=mrbkap).
|
2008-08-25 14:34:26 -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
|
e944751f2e
|
Merge.
|
2008-08-23 15:13:55 -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 |
|
Brendan Eich
|
d28554f3cc
|
Remove over-eager gvar optimization for JSOP_DEFFUN (451678, r=shaver).
|
2008-08-22 18:07:32 -07:00 |
|
David Anderson
|
04ab3326c8
|
Merge.
|
2008-08-22 17:36:37 -07:00 |
|
David Anderson
|
e88386ec38
|
Fixed bogus assertion in debug mode.
|
2008-08-22 17:32:45 -07:00 |
|
Andreas Gal
|
f5462e1c0a
|
Merge.
|
2008-08-22 17:32:01 -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 |
|
Andreas Gal
|
2fb04231fe
|
Allocate nanojit code cache incrementally (bug 443111).
|
2008-08-22 16:37:37 -07:00 |
|
David Anderson
|
36ea645fbe
|
Bug 451743 - On x86 processors, only use SSE2 if the processor supports it, otherwise default back to x87 FPU (r=gal, sr=mrbkap)
|
2008-08-22 12:21:27 -07:00 |
|
David Anderson
|
f0606ee551
|
Fixed x86_64 build issue (accidentally trying to build 32-bit nanojit).
|
2008-08-21 18:07:26 -07:00 |
|
Andreas Gal
|
1b29fd53e4
|
Merge.
|
2008-08-21 16:50:57 -07:00 |
|
Andreas Gal
|
666aeff29e
|
Fix builtins that were accidentally flagged as CSE/FOLD but really aren't (Math.random i.e.)
|
2008-08-21 16:49:51 -07:00 |
|
Andreas Gal
|
7da39648cf
|
Cleanup spacing in builtins.tbl
|
2008-08-21 16:35:05 -07:00 |
|
Blake Kaplan
|
26c3cd4ea9
|
Fixed js_String_p_split passing in an undersized array.
|
2008-08-21 15:17:47 -07:00 |
|
Andreas Gal
|
2563d2bd3d
|
Merge.
|
2008-08-21 11:42:03 -07:00 |
|
Andreas Gal
|
80088cd777
|
Fix warning about signed/unsigned comparison.
|
2008-08-21 11:40:56 -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 |
|
Andreas Gal
|
ee5f8e441f
|
Merge.
|
2008-08-21 05:21:37 -07:00 |
|
Andreas Gal
|
8f6bbaaa5f
|
Abort recording when an error occurs.
|
2008-08-21 05:21:01 -07:00 |
|
Brendan Eich
|
d62ee36613
|
Fix script->owner maintenance; also fix warning.
|
2008-08-21 05:04:20 -07:00 |
|
Brendan Eich
|
b1e05f4fc9
|
JSThread is not zeroed when allocated, grrr.
|
2008-08-21 04:51:46 -07:00 |
|