js/src/jstracer.h
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.
f5149a2b93091409dc28978c5c29cd00460188d3
created 2008-07-25 02:00 -0700
pushed 2008-08-22 00:08 +0000
Andreas Gal Andreas Gal - Factor out AttemptToGrowTree.
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().
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).
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.
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.
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.
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.
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().
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.)
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.
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.
84a4a5c2ccea84d00383bdae6ff68d1a7a1d450b
created 2008-07-21 12:41 -0700
pushed 2008-08-22 00:08 +0000
Andreas Gal Andreas Gal - Rename VMFragmentInfo to TreeInfo.
05ab4f11393da4c5e4d60f0e5ab484c92b047067
created 2008-07-19 10:24 -0700
pushed 2008-08-22 00:08 +0000
shaver shaver - Avoid tracking object properties, make incElem work.
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
55ed09e74ccf4dcbd06b209fff1a76a0e79b8c47
created 2008-07-20 15:42 -0400
pushed 2008-08-22 00:08 +0000
shaver shaver - improve tracing/recording diagnostics
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).
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.
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.
0998e027bc956f107e0f168c3aa5a1acde461ae8
created 2008-07-18 14:11 -0700
pushed 2008-08-22 00:08 +0000
Andreas Gal Andreas Gal - 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.
af5b4863aec74b975369bebe1fec472474a683c5
created 2008-07-18 10:33 -0700
pushed 2008-08-22 00:08 +0000
David Anderson David Anderson - Got side exits seemingly working, added if.js to trace-test.js
792209cb0c1a9da9247a3e66532a60c97a31c086
created 2008-07-17 23:57 -0700
pushed 2008-08-22 00:08 +0000
shaver shaver - When PROPERTY_CACHE_TEST misses, fall back to doing our own lookup via js_GetPropertyHelper.
538e21048bd8e4777b392577e266308d19475430
created 2008-07-17 17:13 -0700
pushed 2008-08-22 00:08 +0000
Andreas Gal Andreas Gal - Merge.
ef57b8f5b957fa49d789fb18202568ca9b7aaae0
created 2008-07-17 17:12 -0700
pushed 2008-08-22 00:08 +0000
Andreas Gal Andreas Gal - Disable trees for the time being.
35a2824c92e3e3c9d387a4a998d2b5a0df8eed9a
created 2008-07-17 15:09 -0700
pushed 2008-08-22 00:08 +0000
shaver shaver - Label globals and locals with their source-names in trace.
fb5f9cc7ae478177d6191465ed55da98a3e0d7be
created 2008-07-17 10:22 -0700
pushed 2008-08-22 00:08 +0000
Andreas Gal Andreas Gal - Added statistics and a js_DestroyJIT hook. Also use debug_only and not verbose_only as #ifdef DEBUG shortcut.
3ac03b040650a6884714dd7d9e21a13ec09660e6
created 2008-07-17 02:00 -0700
pushed 2008-08-22 00:08 +0000
shaver shaver - Add setprop and tests for setprop and cleanup labling code for debug mode (m=gal).
0cddec1e98b83680d538e31fb923e5f2954a9cbb
created 2008-07-17 01:29 -0700
pushed 2008-08-22 00:08 +0000
Andreas Gal Andreas Gal - Cleanup trace abort handling.
40e3a3ab03664475890a8440ef3e8e15ff8058d4
created 2008-07-16 23:00 -0700
pushed 2008-08-22 00:08 +0000
Andreas Gal Andreas Gal - Better naming of the after_JSOP_CALL event (EnterFrame).
8f4d107086037dcffd132458094f16cde1bfe70d
created 2008-07-16 22:58 -0700
pushed 2008-08-22 00:08 +0000
Andreas Gal Andreas Gal - Notify the recorder when a new frame was created by JSOP_CALL.
4bcd383c23ba455c58fbb9a0479731ed858d26b0
created 2008-07-16 21:49 -0700
pushed 2008-08-22 00:08 +0000
Andreas Gal Andreas Gal - Hand in typemap the recorder is supposed to use (preparation for side exit compilation and trees).
db49e96340f85ad54cac4ef11ec4152efc6f048f
created 2008-07-16 21:41 -0700
pushed 2008-08-22 00:08 +0000
Andreas Gal Andreas Gal - Move the allocation of the LIR buffer and the FragmentInfo data structure creation (which includes typemap and interned global calculation) into loopedge.
52abec1941a46b6a556557a96130b302741e72f4
created 2008-07-16 17:29 -0700
pushed 2008-08-22 00:08 +0000
Andreas Gal Andreas Gal - Add generic recorder hooks that are called before and after all opcodes as we trace. We might want to instead just move to pre_OP and post_OP.
2c56d87c195a6e64dcbbf16bdb82e92079233119
created 2008-07-16 14:36 -0700
pushed 2008-08-22 00:08 +0000
Andreas Gal Andreas Gal - Don't use a builtin for this. For functions its interned in the native frame. For global this we read from fp->thisp. Restore jsinterp.cpp and jsinterp.h (no longer need COMPUTE_THIS exposed).
0c6fa110c7bfc154dabad39a1f63c968f5e7b614
created 2008-07-15 21:37 -0400
pushed 2008-08-22 00:08 +0000
shaver shaver - Trace JSOP_THIS and JSOP_THISPROP.
902f1517d1f217b4f3d4b1484031b8583cb2987d
created 2008-07-15 16:04 -0700
pushed 2008-08-22 00:08 +0000
Andreas Gal Andreas Gal - Add a few consts to char* pointers to pacify gcc 4.2.
50ad43b7bee064441ef238a03455762d096135c4
created 2008-07-15 18:29 -0400
pushed 2008-08-22 00:08 +0000
shaver shaver - rename getpropfromval, it burns mine eyes
63d0917202cdd4acd439950001c2742b11dc6940
created 2008-07-15 15:05 -0700
pushed 2008-08-22 00:08 +0000
Andreas Gal Andreas Gal - Assign blame where blame is due.
0473aabb092110f8986db054e985676f7f4cdc5b
created 2008-07-15 10:26 -0700
pushed 2008-08-22 00:08 +0000
Brendan Eich Brendan Eich - Propagate error exceptions from TraceRecorder ctor; fiddle/trim space.
e4625a551017ebce2791c5822e67a86099f88761
created 2008-07-15 13:17 -0400
pushed 2008-08-22 00:08 +0000
shaver shaver - GETVARPROP, GETARGPROP, GETXPROP
343491f8a45469dab381fd58c24658763df39e0e
created 2008-07-15 01:53 -0700
pushed 2008-08-22 00:08 +0000
Andreas Gal Andreas Gal - Generate a list of interned global slots (gslots) when we process the tree header. This list is then used whenever we iterate over the native frame. This is faster and safer than looking up properties in the global object every time.
b6573d494e42542dec4ffdc1999a89d1672741dc
created 2008-07-15 01:27 -0700
pushed 2008-08-22 00:08 +0000
Andreas Gal Andreas Gal - Remove state exposing accessor functions from recorder and instead hand in that state via the constructor into ExitFilter.
eb4225e2ba95bc55c9e0090316d9ada133966a7b
created 2008-07-15 01:08 -0700
pushed 2008-08-22 00:08 +0000
Andreas Gal Andreas Gal - Guard in FragmentInfo on the shape of the global object. Don't check for the shape of the global object on the trace.
38b7a79b00d0c0d84e2a711c313c0d5c38b3703f
created 2008-07-15 01:03 -0700
pushed 2008-08-22 00:08 +0000
Andreas Gal Andreas Gal - Store list of interned global slots in struct FragmentInfo
120f4016b20dea3104cb69dcec6a0d1715ec4747
created 2008-07-14 19:12 -0700
pushed 2008-08-22 00:08 +0000
Andreas Gal Andreas Gal - Added a callstack that will track the pc of the call that caused a function call to be inlined. This is necessary to recover from deep side exits inside inline functions. The callstack is subject to store elimination, so unnecessary stores to the stack will go dead automatically during compilation (i.e. if we inline a function that doesn't have side exits.)
14f0ea38fac42068e461932ef0c704b5e83bfb83
created 2008-07-14 16:40 -0700
pushed 2008-08-22 00:08 +0000
Andreas Gal Andreas Gal - Use JS_GetGlobalForObject to get the global object. Walking back the call chain is not equivalent and not safe.
fed259ac5617a367bbbe47489cf064c683a13bd1
created 2008-07-13 21:14 -0700
pushed 2008-08-22 00:08 +0000
Andreas Gal Andreas Gal - Reserve space for every global property that the current script has an atom for instead of trying to rely on ngvars.
5d31aafecb356528402038ef8408ef822713e38e
created 2008-07-11 20:59 -0400
pushed 2008-08-22 00:08 +0000
shaver shaver - Incomplete stab at CALLPROP, added ABORT_TRACE for better diagnostics, make math_sin non-static in preparation for specializing call.
cf557974ff909a8db886e6db00eb1a13bff0f983
created 2008-07-10 21:55 -0700
pushed 2008-08-22 00:08 +0000
Brendan Eich Brendan Eich - 1. Fix !JS_THREADED_INTERP bugs in BRANCH and recording switch case generation.
e417dc6f85e8c8a23660f409a0598c47a68ec21d
created 2008-07-10 20:35 -0700
pushed 2008-08-22 00:08 +0000
Andreas Gal Andreas Gal - IFEQ and IFNE are identical for us. We just expect the same boolean on the stack and side exit if not.
bd78d1eedabe55ca8d7acc77af796ece9e0619d1
created 2008-07-10 18:42 -0700
pushed 2008-08-22 00:08 +0000
Andreas Gal Andreas Gal - shaver's favorite operating system of choice doesn't like templates, so de-template tracker since we use it with LInsp only anyway.
584d2a3dbb9c0691471eb9cf1d2f8e7e3a66bbf9
created 2008-07-10 17:29 -0400
pushed 2008-08-22 00:08 +0000
shaver shaver - Decouple jscntxt.h from jstracer.h so that xpconnect doesn't try to include all of
76e77fff6b8e6ae8fab5f7e54f0c9682c59db521
created 2008-07-10 09:29 -0400
pushed 2008-08-22 00:08 +0000
shaver shaver - can't have zero-sized arrays in ISO C++, says gcc
b55fe9ec623ec37536f87ff38ff8d8ac135aaa6f
created 2008-07-09 15:15 -0700
pushed 2008-08-22 00:08 +0000
Brendan Eich Brendan Eich - 1. Fix inc to address the right result stack slot; 2. Require via assertions that the interpreter memoize implicit gvars (patch to do that next; bitwise-and will assert until that lands).
d6be157f25c833e36e405103db0919235dcf6a4f
created 2008-07-09 11:42 -0700
pushed 2008-08-22 00:08 +0000
Brendan Eich Brendan Eich - Memoize global name gets and sets as if they refer to a declared gvar.
cf05cda24404b5b6b9eaab2555dcd142ecbc9719
created 2008-07-09 00:29 -0700
pushed 2008-08-22 00:08 +0000
Andreas Gal Andreas Gal - Stricter typing of the tracker code path which now only accepts jsval as suggested by Brendan.
less more (0) -100 -60 tip