js/src/jstracer.cpp
81375d2214942696bc81f38b1de872085fad105b
created 2008-07-24 16:25 -0700
pushed 2008-08-22 00:08 +0000
Andreas Gal Andreas Gal - Don't demote slots in overly long traces (based on counting the number of guards, current threshold=32).
6747a00cdc2c2d82c1fe8c459222afdad7625920
created 2008-07-24 14:51 -0700
pushed 2008-08-22 00:08 +0000
Andreas Gal Andreas Gal - Cleanup iteration over all slots to use a single macro to avoid code duplication.
d4612c4b9cc2a504016021b7635d36acbb7640ba
created 2008-07-24 11:08 -0700
pushed 2008-08-22 00:08 +0000
Andreas Gal Andreas Gal - Add shark support to md5.js directly, no longer around the recorder.
d9a55e3014f88e9f9242010c933ffc93c0994e70
created 2008-07-24 10:35 -0700
pushed 2008-08-22 00:08 +0000
Andreas Gal Andreas Gal - Make the interpreter notify us when frames are popped so we see he right cx->fp value. Fix return value tracking for JSOP_STOP.
d0b29a253c221f211cf45c5bd17ab49632a2e30b
created 2008-07-24 10:09 -0700
pushed 2008-08-22 00:08 +0000
Andreas Gal Andreas Gal - Backed out changeset a58e7ce6eb7f. stack(0) is wrong, if at all it should have been stack(-(1 + argc)). But anyway, its impossible to write through to the frame via set() at that point because leaveFrame() doesn't actually modify cx->fp. We need to wait for the interpreter to do so. Until then nativeFrameOffset produces incorrect values and the assert fails in set.
a58e7ce6eb7f1dc53de70c13b9707d4799f331aa
created 2008-07-24 00:31 -0700
pushed 2008-08-22 00:08 +0000
shaver shaver - fix return-value handling for new stack layout
4592d6bdad1bcf9b77116dc72c4fe1d8c449b110
created 2008-07-23 23:18 -0700
pushed 2008-08-22 00:08 +0000
Andreas Gal Andreas Gal - Maintain a separate frame for globals using InterpState->gp.
1fa3e45f253a841ccdfee21c062b082919f236f2
created 2008-07-23 16:39 -0700
pushed 2008-08-22 00:08 +0000
Andreas Gal Andreas Gal - Add a fast path for nativeFrameOffset that walks entire groups at a time, not slots. Check against the result calculated by the FORALL macro in DEBUG builds (for sanity).
c1d3d1e0e92418c474a374bcc876aa8845fdb00b
created 2008-07-23 15:56 -0700
pushed 2008-08-22 00:08 +0000
Andreas Gal Andreas Gal - Merge. Make sure we clear out all slots from the tracker when leaving a frame.
7f3cc9a4bf1a39d823ef4f1a3bcbc8ecafe0553e
created 2008-07-23 15:48 -0700
pushed 2008-08-22 00:08 +0000
Andreas Gal Andreas Gal - When addressing locations above the stack water level, use ->sp as base. Shaver accidently changed this to ->spbase when merging Igor's patch, so we were writing past the water mark and the stores were killed.
711092884c032410bd635b1d68ef9c778afa3777
created 2008-07-23 02:57 -0700
pushed 2008-08-22 00:08 +0000
Andreas Gal Andreas Gal - Lazy fill the stackTracker as we lookup the nativeFrameOffset for values. Purge all entries related to the current frame when it is popped. This code could be further simplified if Tracker was a template.
58268341e59090e24eb96b8ab4116d675732eec7
created 2008-07-23 11:42 -0400
pushed 2008-08-22 00:08 +0000
shaver shaver - tighten up some bounds, still not quite right
74c74142691de291bfa8790dad6e81416cbf22ae
created 2008-07-23 01:08 -0400
pushed 2008-08-22 00:08 +0000
shaver shaver - merge from andreas
c31887108aa492dabf5a8e91a82fe47ac378aa47
created 2008-07-23 01:06 -0400
pushed 2008-08-22 00:08 +0000
shaver shaver - merge (still not working, probably box/unbox dumbness)
d7ce57c5a2d602725c8102d4d2a420c07b6a9b24
created 2008-07-23 00:20 -0400
pushed 2008-08-22 00:08 +0000
shaver shaver - merge (now compiling, untested)
a72fa45c84d6ae1cca633dc49efde0e03cd46201
created 2008-07-22 20:16 -0700
pushed 2008-08-22 00:08 +0000
Andreas Gal Andreas Gal - Handle leaving of frames in one central place.
d69e27a95299f6e4951e57ec36758882b024c698
created 2008-07-22 18:31 -0700
pushed 2008-08-22 00:08 +0000
Andreas Gal Andreas Gal - Reduce HOTLOOP threshold to 2.
76743337c5cf144cad79a4e188a14841d9271d1f
created 2008-07-22 17:54 -0700
pushed 2008-08-22 00:08 +0000
Andreas Gal Andreas Gal - Avoid calculating native frame offset by tracking the last load/store for every slot and extracting the offset from there.
300d7a711abd509d44ffbad624a0d12ea19114e1
created 2008-07-22 17:24 -0700
pushed 2008-08-22 00:08 +0000
Andreas Gal Andreas Gal - Avoid nativeFrameOffset calls in import().
f97a027eb75b6c41909ad906902fb98231ff9d26
created 2008-07-21 19:38 -0700
pushed 2008-08-22 00:08 +0000
Andreas Gal Andreas Gal - Merge.
50e742a24660c1fd0c238e0ecf02299396393acc
created 2008-07-21 19:37 -0700
pushed 2008-08-22 00:08 +0000
Andreas Gal Andreas Gal - Add a pattern to recognize safe_add and emit a simple add for it.
3a9f641607b8688ff5016c41370c9ce8a5103a13
created 2008-07-21 22:31 -0400
pushed 2008-08-22 00:08 +0000
shaver shaver - use nargs rather than argc, since bytecode only refers to [o-nargs) args
c3a6d7c21b1a6914df0d6fdcde4fea8e56821309
created 2008-07-21 17:59 -0700
pushed 2008-08-22 00:08 +0000
Andreas Gal Andreas Gal - Reverse the insanity that used to be tamarin's arg passing in ins2. Now it makes sense.
7ce311bda061ccd508a6dc0f79fcd3b58edaec50
created 2008-07-21 17:50 -0700
pushed 2008-08-22 00:08 +0000
Andreas Gal Andreas Gal - Avoid overflow checks on integer adds when its safe to do so.
84567cee23affc704315debffa48ab8d7b12ddaa
created 2008-07-21 16:20 -0700
pushed 2008-08-22 00:08 +0000
Andreas Gal Andreas Gal - Eliminate entryFrame pointer (not safe to carry that around.)
29dc227c247090f8119ae7d4cc4dea1fd8924446
created 2008-07-21 16:19 -0700
pushed 2008-08-22 00:08 +0000
Andreas Gal Andreas Gal - Use callDepth instead of entryFrame in the FORALL macro.
578b74d83ca43925df9969587987d2bbaa6b3a93
created 2008-07-21 15:09 -0700
pushed 2008-08-22 00:08 +0000
Andreas Gal Andreas Gal - Eliminate exit filter, write the type map directly in snapshot.
a9674f7445daa65d7c3eeb2768bb3d94c5211480
created 2008-07-21 15:01 -0700
pushed 2008-08-22 00:08 +0000
Andreas Gal Andreas Gal - Sink stack-targeting type conversion in the set() path instead of in the ExitFilter.
3431355c8c25779c7e4f58c7c78280b365eac6fa
created 2008-07-21 14:55 -0700
pushed 2008-08-22 00:08 +0000
Andreas Gal Andreas Gal - Use callDepth, not entryFrame in nativeFrameSlots().
31c40a134b8392211c83dfb78310dbb2d9e95681
created 2008-07-21 13:21 -0700
pushed 2008-08-22 00:08 +0000
Andreas Gal Andreas Gal - Remove excess parameters of verifyTypeStability.
60217cddf325c79bae76c859df8fb3c7c6039db7
created 2008-07-21 13:18 -0700
pushed 2008-08-22 00:08 +0000
Andreas Gal Andreas Gal - Track call depth in the trace recorder. This lays the groundwork to get rid of entryFrame.
7ca5021203e6182026d32036ec5c59dd095e4d9c
created 2008-07-21 15:57 -0400
pushed 2008-08-22 00:08 +0000
shaver shaver - beginning of entryFrame removal
1d223e643fad98116f3ad00cdb6823a5e14c2887
created 2008-07-21 12:44 -0700
pushed 2008-08-22 00:08 +0000
Andreas Gal Andreas Gal - Merge.
488ee9bd7d342fdea5a5a50ecc4ce407604598f8
created 2008-07-21 12:43 -0700
pushed 2008-08-22 00:08 +0000
Andreas Gal Andreas Gal - Use ti instead of fi for TreeInfo pointers.
84a4a5c2ccea84d00383bdae6ff68d1a7a1d450b
created 2008-07-21 12:41 -0700
pushed 2008-08-22 00:08 +0000
Andreas Gal Andreas Gal - Rename VMFragmentInfo to TreeInfo.
82844c30d64cfedc63c4a945330e90fe45ee3cd4
created 2008-07-20 17:36 -0700
pushed 2008-08-22 00:08 +0000
Andreas Gal Andreas Gal - Merge.
d98ca5faa22c158273bfa845ad7767c860fc1c58
created 2008-07-20 17:36 -0700
pushed 2008-08-22 00:08 +0000
Andreas Gal Andreas Gal - Style cleanup and eliminate redundant f2u(i2f|u2f) chains.
05ab4f11393da4c5e4d60f0e5ab484c92b047067
created 2008-07-19 10:24 -0700
pushed 2008-08-22 00:08 +0000
shaver shaver - Avoid tracking object properties, make incElem work.
0d2ce64b76b1a5616e4582f3a64715281b4a628d
created 2008-07-20 16:21 -0700
pushed 2008-08-22 00:08 +0000
Brendan Eich Brendan Eich - Cite bug 445262 with a FIXME instead of omfgHack_ prefix ;-).
c315c24d0b90ca071d3325c4a0a4266bbaf3b4a8
created 2008-07-20 16:11 -0700
pushed 2008-08-22 00:08 +0000
Brendan Eich Brendan Eich - Tighten up js_IsLoopEdge and include JSOP_IFNEX.
90467ec4fc8b95d51bca051db330cd95501ab491
created 2008-07-20 16:09 -0700
pushed 2008-08-22 00:08 +0000
Brendan Eich Brendan Eich - Nit patrol.
dcefd6872de80b0b3ee2f23af6d0104f37470548
created 2008-07-20 14:56 -0700
pushed 2008-08-22 00:08 +0000
Andreas Gal Andreas Gal - Simplify updating of the side exit target.
d50e67202e36fadb0d5afc48e021ba11281d5fd3
created 2008-07-20 17:54 -0400
pushed 2008-08-22 00:08 +0000
shaver shaver - simpler loop exit check (backwards is a loop exit, forwards is not)
3f22d73523c2444cc641cb299e28daad85484a37
created 2008-07-20 17:23 -0400
pushed 2008-08-22 00:08 +0000
shaver shaver - force Math to be interned, and defend against non-interned globals until upvar saves us all
8d755a9d420748774094be8b3662b1694023cb1b
created 2008-07-20 14:28 -0700
pushed 2008-08-22 00:08 +0000
Andreas Gal Andreas Gal - Use exponential backoff when trying to extend trees.
0236cac46f1c9c4879a743130de323448880824c
created 2008-07-20 13:29 -0700
pushed 2008-08-22 00:08 +0000
Andreas Gal Andreas Gal - Merge.
7fc8fae5275d2fbd04fe1037576c6f9cb67259d2
created 2008-07-20 13:28 -0700
pushed 2008-08-22 00:08 +0000
Andreas Gal Andreas Gal - Don't emit boxed values, use the unboxed representation for constants.
c4a57a85b10101a4a63e2390253358a72e170b13
created 2008-07-20 13:25 -0700
pushed 2008-08-22 00:08 +0000
Andreas Gal Andreas Gal - Removed meaningless assert.
8fcab8127282610a15427125347f19d5b24c93e3
created 2008-07-20 16:21 -0400
pushed 2008-08-22 00:08 +0000
shaver shaver - don't pretend we can trace INCELEM and friends (fixes trace-test.js, ahem)
55ed09e74ccf4dcbd06b209fff1a76a0e79b8c47
created 2008-07-20 15:42 -0400
pushed 2008-08-22 00:08 +0000
shaver shaver - improve tracing/recording diagnostics
6f2f72b0dc05aab20d81c1cf90c873dfc5d92652
created 2008-07-19 22:32 -0700
pushed 2008-08-22 00:08 +0000
shaver shaver - discard trace on global shape mismatch
68290f50a4aefbaba829a297bf494352b53b8d18
created 2008-07-19 15:42 -0700
pushed 2008-08-22 00:08 +0000
Brendan Eich Brendan Eich - Breathe, vertical-spacing, breathe!
395a9edbad9a101b2cac3c941aae9b04cb086f41
created 2008-07-19 06:29 -0700
pushed 2008-08-22 00:08 +0000
shaver shaver - Implement DEFLOCALFUN for the fully-lightweight case.
f301a26e8ecb8f97aaa428ed867dce972f834fab
created 2008-07-19 10:52 -0700
pushed 2008-08-22 00:08 +0000
Brendan Eich Brendan Eich - Improve js_IsLoopExit (unannotated JSOP_GOTO is still ambiguous).
a5e4e0fbda2908d7744b7e3ab0b53c4c26e485f2
created 2008-07-19 10:24 -0700
pushed 2008-08-22 00:08 +0000
Brendan Eich Brendan Eich - Fix incProp to box and store (incElem still todo).
363fb74d8dacfbd6c540fd670e1a6a8da1369ab8
created 2008-07-19 00:40 -0700
pushed 2008-08-22 00:08 +0000
Andreas Gal Andreas Gal - Merge. hg sucks.
45d7e50dd07080b06d5cad36edc7b371f26d1129
created 2008-07-19 00:27 -0700
pushed 2008-08-22 00:08 +0000
Andreas Gal Andreas Gal - 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.)
2fd000e77d01c88479d2cf91092590e280cb9fc4
created 2008-07-19 00:15 -0700
pushed 2008-08-22 00:08 +0000
Brendan Eich Brendan Eich - First stab at incops, plus unbox_jsval tag-masking guard fixes, plus misc. cleanup.
fc709b9639e9e7a9b1e6eb40114436d39c83aff9
created 2008-07-18 19:15 -0700
pushed 2008-08-22 00:08 +0000
Andreas Gal Andreas Gal - Abort trace is STOP is leaving the recording context.
dffb3c5243081cca92200864e37022567fda6906
created 2008-07-18 16:21 -0700
pushed 2008-08-22 00:08 +0000
Andreas Gal Andreas Gal - Make entryFrame/entryRegs relative to the tree entry since we only adjust ip/sp/rp when exiting from the tree, not in between fragments.
less more (0) -300 -100 -60 tip