Commit Graph

193889 Commits

Author SHA1 Message Date
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
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
Brendan Eich
20608de4bf Warning elimination. 2008-07-17 18:30:54 -07:00
Andreas Gal
b85a05ff26 Make sure we compile again if we reject a trace by decrementing hits. 2008-07-17 18:15:55 -07:00
Andreas Gal
ec2639cd39 Fix hot loop triggering. 2008-07-17 18:10:47 -07:00
shaver@mozilla.org
c3b817fc24 can't easily find real names for globals, so just number them 2008-07-17 17:33:18 -07:00
Andreas Gal
e0d138cd5c Merge. 2008-07-17 17:13:41 -07:00
Andreas Gal
c2f37ab89c Disable trees for the time being. 2008-07-17 17:12:28 -07:00
Andreas Gal
93c1fd0a24 Add if.js example for trees. 2008-07-17 16:38:09 -07:00
Andreas Gal
abaf140791 Add the beginning of support for trees. 2008-07-17 16:20:13 -07:00
shaver@mozilla.org
f91a0cdef3 Label globals and locals with their source-names in trace.
Show line number on abort.
2008-07-17 15:09:48 -07:00
Brendan Eich
b333ac3111 Use the property cache for JSOP_NAMEINC, etc. 2008-07-17 16:54:01 -07:00
Brendan Eich
891c98121c Fix property cache fill to use the right shape. 2008-07-17 16:51:27 -07:00
Brendan Eich
094c419af4 Merge. 2008-07-17 16:50:09 -07:00
Andreas Gal
877cd419c5 Don't allocate FpRegs if sse2 is enabled. 2008-07-17 15:00:22 -07:00
Andreas Gal
8802c2daa2 Add js_IsLoopExit that indicates whether a side exit is likely to continue the loop or not. 2008-07-17 14:58:09 -07:00
Brendan Eich
421f1ba794 Always select gvar ops for declared global vars, instead of only if loopy/enough-used. 2008-07-17 14:37:25 -07:00
Andreas Gal
d2e031b38d Cleanup recorder activation, use a single hot loop threshold (10). 2008-07-17 13:42:58 -07:00