Commit Graph

16914 Commits

Author SHA1 Message Date
Andreas Gal
a253b66a09 If we stop recording, immediately attempt to trigger the tree. 2008-08-06 13:18:30 -07:00
Andreas Gal
141f71186c Properly deal with trace entry with non-empty stack. 2008-08-06 12:38:17 -07:00
Andreas Gal
0ed65746a7 Split side exit handling from js_ExecuteTree. 2008-08-06 06:34:16 -07:00
Brendan Eich
a1c6f2606a Comment or/and test framework not being traceable. 2008-08-05 11:36:25 -07:00
Brendan Eich
03b511f9e4 - Use JSStackFrame* fp over, don't declare another JSStackFrame* f, in the FORALL macros and clones (f is canonical variable name for nanojit::Fragment*, fp for JSStackFrame*).
- Nit-pick include order (alphabetical within each group).
- Trailing space and indentation no-knock raid.
2008-08-03 22:55:28 -07:00
Brendan Eich
da42a8c6f7 Strength-reduced unsigned modulus in the fragment quick cache, don't use signed % which requires a branch and less-than-zero test. 2008-08-03 22:35:15 -07:00
Brendan Eich
fc2c669949 Misc. cleanup. 2008-08-03 01:34:07 -07:00
Brendan Eich
df36d9e36f Use INS_CONST to addName a few lir->insImm immediates. 2008-08-02 20:01:36 -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
607e259b69 Fix return NULL in bool to return false. 2008-08-02 16:05:29 -07:00
Brendan Eich
0ac70ec2cc Avoid JSUint64 (NSPR style), use uint64 (SpiderMonkey style). 2008-08-02 16:05:16 -07:00
Brendan Eich
3488a68372 Restore lost or/and tests (hg strikes again, grrrr!) 2008-08-02 15:56:28 -07:00
Andreas Gal
3799a6f8ff Merge. 2008-08-02 03:24:03 -07:00
Andreas Gal
3106dc8845 Use quick cache to bypass fragmento is possible. 2008-08-01 22:56:52 -07:00
Andreas Gal
12f1c06952 Factor out most of the remaining code in js_LoopEdge into js_RecordTree and move the code to attach new branches into js_ExecuteTree. 2008-08-01 22:47:15 -07:00
Andreas Gal
746cb91802 Factor out js_ContinueRecording from js_LoopEdge. 2008-08-01 22:39:52 -07:00
Andreas Gal
6df2ea22c9 Add a fragment cache data structure. This will be used to accelerate the fragment lookup during branching. 2008-08-01 22:33:05 -07:00
Andreas Gal
3fea3f5d53 Split up FORALL_SLOTS_IN_PENDING_FRAMES macro in a macro that processes a frame, and a macro that uses that macro to process all pending frames. 2008-08-01 22:27:39 -07:00
Brendan Eich
67ff139b74 Merge, dammit -- why did we pick hg anyway? 2008-08-01 21:12:34 -07:00
Brendan Eich
5c506ec0ba Merge. 2008-08-01 21:09:48 -07:00
Brendan Eich
1c627f62ca Backed out changeset 8421b003fb5f -- it broke string to number, demonstrated by running trace-test.js without the -j (jit) option (10 - "1.3" => NaN instead of 8.7).
/be
2008-08-01 21:07:17 -07:00
Brendan Eich
269f35e4ad Fix ifop null/object inverted logic sense bug. 2008-08-01 20:19:28 -07:00
Brendan Eich
9cff9bf4d1 Add || and && tests; use newlines to join pass and fail results now that there are too many tests to be readable joined by commas on one line. 2008-08-01 20:18:10 -07:00
Brendan Eich
88bba45b34 Add || and && tests. 2008-08-01 20:13:11 -07:00
Andreas Gal
d7a10439bc Merge. 2008-08-01 17:47:33 -07:00
Brendan Eich
3691962a2f Extend ifop to handle undefined tests; implement JSOP_OR and JSOP_AND (so much work\!). 2008-08-01 12:06:04 -07:00
Brendan Eich
dc1072fe55 Style police raid: function names start in column 1, with one blank line between functions. 2008-08-01 11:03:52 -07:00
Brendan Eich
1be7c2b958 1. Don't store thisp literally in state.rp, get it from argv[-1]. 2. Fix DEBUG localNames code. 2008-08-01 10:40:38 -07:00
Brendan Eich
2cfdd9a55a 1. Don't store thisp literally in state.rp, get it from argv[-1]. 2. Fix DEBUG localNames code. 2008-08-01 10:40:38 -07:00
Brendan Eich
422ce674b5 Remove synthesizeFrames private declaration -- js_SynthesizeFrames is a static helper now. 2008-08-01 08:39:44 -07:00
Brendan Eich
8f837e0784 - Implement interpreter frame reconstruction (js_SynthesizeFrame).
- Fix MONITOR_BRANCH to restore frame-dependent interpreter locals (we want fewer of these if they can be removed with no perf loss).
- Fix FORALL_SLOTS_IN_PENDING_FRAMES not to scan argv in callee when it has scanned operand stack in caller.
- Fix import to take the localFrame from whose fun its localNames parameter was computed -- it was using cx->fp which is wrong when FORALL_SLOTS_IN_PENDING_FRAMES iterates other than the top of stack frame.
- A few interval tests that were double-ended are single-ended now.
- Add call.js mini-test (more cases needed).
2008-08-01 08:26:32 -07:00
Andreas Gal
4eba8e4012 Remove entryStackDepth. Calculate sp_adj relative to entryNativeStackSlots. 2008-08-01 02:33:54 -07:00
Andreas Gal
dd3ebd2cfe Make synthesizeFrame private. 2008-07-31 16:30:00 -07:00
Andreas Gal
144cccb3f1 Merge. 2008-07-31 13:43:02 -07:00
Andreas Gal
bef0cf6f23 Add vprof source files (this time for real.) 2008-07-31 13:42:25 -07:00
David Anderson
ea8cf3b5ce Fixed builtin_dmod not working on Win32. 2008-07-31 15:42:03 -05:00
Andreas Gal
80036e48d3 Pull in Moh's vprof utility from tamarin-tracing. 2008-07-31 13:39:41 -07:00
Andreas Gal
f0c74cce54 Sync with tamarin-tracing/nanojit tip. 2008-07-31 13:28:12 -07:00
shaver@mozilla.org
df01719b57 use optimized path for fromCharCode 2008-07-31 12:22:48 -07:00
shaver@mozilla.org
c274666457 Refactor js_GetUnitString to permit passing in a bare jschar, and use in js_str_fromCharCode. 2008-07-31 12:21:59 -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
3221386525 add specialized StringToInt32 and filter for it 2008-07-31 11:35:08 -07:00
shaver@mozilla.org
bccb36ea81 give strtointeger a way to avoid octal, to streamline ValueToNumber a bit 2008-07-31 11:33:55 -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
d200eb863e merge backout of d24e6005ee4c to fix the world 2008-07-31 06:36:53 -07:00
shaver@mozilla.org
f2c0c93637 Backed out changeset d24e6005ee4c (causing major array-fail). 2008-07-31 06:35:11 -07:00
Andreas Gal
e5a87ade9f Merge. 2008-07-31 01:35:56 -07:00
Andreas Gal
6f4cfc2628 Remove ANY_TYPE and move debug printf around to print entry point even if we can't enter due to type mismatch. 2008-07-31 01:35:18 -07:00
shaver@mozilla.org
a3bc7296d9 Make guard return expected, so we can trace alternate cases easily.
Better diagnostic for non-global scope chain head.
2008-07-30 22:59:13 -07:00
Andreas Gal
86aa1f7ff7 If trees are not enabled, don't try to reuse state and param1. 2008-07-30 21:40:21 -07:00