js/src/jstracer.cpp
ff036e43274007e1bad6e9d2634b08368f74c831
created 2008-07-25 16:51 -0700
pushed 2008-08-22 00:08 +0000
Andreas Gal Andreas Gal - The VP engineering broke JSOP_NAME! We have to check whether the slot is actually interned and otherwise abort.
c2f49e1a25942d9b9ae9fe54f7a344c5da466d8b
created 2008-07-26 01:23 +0200
pushed 2008-08-22 00:08 +0000
Brendan Eich Brendan Eich - Avoid JSOP_POPV in global scripts from load(), etc.
fd9cf3c556ee0d410dc934be71956a0d33271d2c
created 2008-07-25 13:30 -0700
pushed 2008-08-22 00:08 +0000
David Anderson David Anderson - Fixed entry typemap having wrong allocation size.
75805867814e6e819ba7508a20ffd01dc126b55e
created 2008-07-25 02:29 -0700
pushed 2008-08-22 00:08 +0000
Andreas Gal Andreas Gal - Can't use lr->from. Seems to not get set in certain cases. Go figure. The nanojit tree code is really weird.
f5149a2b93091409dc28978c5c29cd00460188d3
created 2008-07-25 02:00 -0700
pushed 2008-08-22 00:08 +0000
Andreas Gal Andreas Gal - Factor out AttemptToGrowTree.
2666adaeb7527e7eeda8ce1c2db9cd1ed7ccc85d
created 2008-07-25 01:44 -0700
pushed 2008-08-22 00:08 +0000
Andreas Gal Andreas Gal - Determine ahead of time whether a side exit is a loop-terminating side exit instead of re-determining this at every side exit.
650ff18ef51f6c436528cff2b72d721e30f41f18
created 2008-07-25 01:20 -0700
pushed 2008-08-22 00:08 +0000
Andreas Gal Andreas Gal - Move trace activation code into js_ExecuteTree().
8809b9fffa2749035f47cbfeccaacc40b27e4168
created 2008-07-24 17:33 -0700
pushed 2008-08-22 00:08 +0000
Andreas Gal Andreas Gal - Make demotion threshold optional (0=off, 32=default). Turn off to debug the type assert bug.
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!
less more (0) -300 -100 -60 tip