Commit Graph

11457 Commits

Author SHA1 Message Date
Andreas Gal
568e3f882c Eliminate exit filter, write the type map directly in snapshot. 2008-07-21 15:09:19 -07:00
Andreas Gal
81d604c67d Sink stack-targeting type conversion in the set() path instead of in the ExitFilter. 2008-07-21 15:01:47 -07:00
Andreas Gal
3ca6099bab Use callDepth, not entryFrame in nativeFrameSlots(). 2008-07-21 14:55:41 -07:00
Andreas Gal
7d41fd6a8e Remove excess parameters of verifyTypeStability. 2008-07-21 13:21:00 -07:00
Andreas Gal
83dcd55ff1 Track call depth in the trace recorder. This lays the groundwork to get rid of entryFrame. 2008-07-21 13:18:08 -07:00
shaver@mozilla.org
640220ca0f beginning of entryFrame removal 2008-07-21 15:57:02 -04:00
Andreas Gal
7466af13cc Merge. 2008-07-21 12:44:03 -07:00
Andreas Gal
e4b7f9cdbb Use ti instead of fi for TreeInfo pointers. 2008-07-21 12:43:51 -07:00
Andreas Gal
fe52907712 Rename VMFragmentInfo to TreeInfo. 2008-07-21 12:41:43 -07:00
Andreas Gal
6c9d3d7051 Merge. 2008-07-20 17:36:47 -07:00
Andreas Gal
a344d8eb92 Style cleanup and eliminate redundant f2u(i2f|u2f) chains. 2008-07-20 17:36:11 -07:00
Brendan Eich
796ede974c Cite bug 445262 with a FIXME instead of omfgHack_ prefix ;-). 2008-07-20 16:21:45 -07:00
Brendan Eich
bc62129a68 Tighten up js_IsLoopEdge and include JSOP_IFNEX. 2008-07-20 16:11:52 -07:00
Brendan Eich
9de8dbd4a7 Nit patrol. 2008-07-20 16:09:08 -07:00
shaver@mozilla.org
84071cde06 merge time is fun time 2008-07-20 18:04:27 -04:00
shaver@mozilla.org
f3fe654c91 add simple timing harness 2008-07-20 18:03:07 -04:00
Andreas Gal
ba670ddc66 Simplify updating of the side exit target. 2008-07-20 14:56:04 -07:00
shaver@mozilla.org
42c8798d31 simpler loop exit check (backwards is a loop exit, forwards is not) 2008-07-20 17:54:16 -04:00
shaver@mozilla.org
b881262443 force Math to be interned, and defend against non-interned globals until upvar saves us all 2008-07-20 17:23:39 -04:00
Andreas Gal
92ad36939a Use exponential backoff when trying to extend trees. 2008-07-20 14:28:56 -07:00
Andreas Gal
e42833b0db Merge. 2008-07-20 13:29:20 -07:00
Andreas Gal
6922d0cd5f Don't emit boxed values, use the unboxed representation for constants. 2008-07-20 13:28:53 -07:00
Andreas Gal
99e9e80629 Removed meaningless assert. 2008-07-20 13:25:36 -07:00
shaver@mozilla.org
65d84971d7 don't pretend we can trace INCELEM and friends (fixes trace-test.js, ahem) 2008-07-20 16:21:43 -04:00
shaver@mozilla.org
62dccff8dd move summarization to the end, so I can see it through the debug spew 2008-07-20 16:17:58 -04:00
shaver@mozilla.org
bddc445991 improve tracing/recording diagnostics 2008-07-20 15:42:19 -04:00
shaver@mozilla.org
f3857ddac7 discard trace on global shape mismatch 2008-07-19 22:32:45 -07:00
Brendan Eich
2e642f1990 Breathe, vertical-spacing, breathe! 2008-07-19 15:42:31 -07:00
shaver@mozilla.org
3a9c816fe0 Avoid tracking object properties, make incElem work. 2008-07-19 10:24:10 -07:00
shaver@mozilla.org
3e6f34993a fix no-tracer build 2008-07-21 06:59:38 -04:00
shaver@mozilla.org
cfafd2fe01 Implement DEFLOCALFUN for the fully-lightweight case.
Reset atoms base register on function entry and exit.
2008-07-19 06:29:56 -07:00
Brendan Eich
96bdefd1f1 Improve js_IsLoopExit (unannotated JSOP_GOTO is still ambiguous). 2008-07-19 10:52:24 -07:00
Brendan Eich
e903444286 Fix incProp to box and store (incElem still todo). 2008-07-19 10:24:28 -07:00
Andreas Gal
3fd3d3a835 Merge. hg sucks. 2008-07-19 00:40:54 -07:00
Andreas Gal
00fd64b6e5 Don't demote fmul since it overflows in math-partial. We might try to demote it and then promote back if this happens (depends how aggressively we want so speculate). Speedup 6.6 for math-partial (since its sin/cos/pow heavy.) 2008-07-19 00:27:45 -07:00
Brendan Eich
90f08bf3bf First stab at incops, plus unbox_jsval tag-masking guard fixes, plus misc. cleanup. 2008-07-19 00:15:22 -07:00
Andreas Gal
cac6830023 Merge. 2008-07-18 19:16:16 -07:00
Andreas Gal
fdce9ce73c Abort trace is STOP is leaving the recording context. 2008-07-18 19:15:49 -07:00
shaver@mozilla.org
e195fca1f0 Propagate TCF_COMPILE_N_GO through to inner functions, so that we can avoid nulling their parents and then cloning expensively in DEFLOCALFUN.
Also make Process do COMPILE_N_GO.
2008-07-18 17:15:41 -07:00
Andreas Gal
2422eabd22 Make entryFrame/entryRegs relative to the tree entry since we only adjust ip/sp/rp when exiting from the tree, not in between fragments. 2008-07-18 16:21:22 -07:00
Andreas Gal
7eea6badf4 Adjust ip/sp/rp in the interpreter recovery code, not on the trace. 2008-07-18 15:35:59 -07:00
Andreas Gal
13a006aee6 Write all the debug output to stdout (we can't easily make everything go to stderr, so this way at least it all goes into the same place.) 2008-07-18 14:13:31 -07:00
Andreas Gal
9af8ba0394 Rework some of David's changes. Make sure we don't modify the tree until we are ready to attach the new fragment. Share lirbufs between tree branches. 2008-07-18 14:11:01 -07:00
David Anderson
854288fbb0 Got side exits seemingly working, added if.js to trace-test.js 2008-07-18 10:33:17 -07:00
shaver@mozilla.org
43bff554d7 Handle more operand types in ifop(). 2008-07-18 08:01:51 -07:00
shaver@mozilla.org
0f5b220b76 Better diagnostic info for trace abort. 2008-07-18 07:59:37 -07:00
shaver@mozilla.org
3048327072 lookup/find, but do not fill prop cache from recorder 2008-07-18 00:46:18 -07:00
shaver@mozilla.org
51a8a7e736 When PROPERTY_CACHE_TEST misses, fall back to doing our own lookup via js_GetPropertyHelper. 2008-07-17 23:57:56 -07:00
Andreas Gal
b1cd6900dc Merge. 2008-07-17 21:32:23 -07:00
Andreas Gal
3bcedb1095 Try to clean up the memory allocation/deallocation through the avmplus glue code. 2008-07-17 21:31:50 -07:00