Commit Graph

11366 Commits

Author SHA1 Message Date
Andreas Gal
e81ced786f Hand in typemap the recorder is supposed to use (preparation for side exit compilation and trees). 2008-07-16 21:49:42 -07:00
Andreas Gal
f8812377be Move the allocation of the LIR buffer and the FragmentInfo data structure creation (which includes typemap and interned global calculation) into loopedge. 2008-07-16 21:41:03 -07:00
Andreas Gal
a9a21285a6 Fix typo in test cases. 2008-07-16 19:10:07 -07:00
Andreas Gal
ed943f0759 Make JSOP_CALLNAME tell us why it doesn't like to trace. 2008-07-16 19:00:14 -07:00
Andreas Gal
69e1d9c637 Add md5.js so we can play with it. We should sweep these test cases into a subdir or just delete them once they trace. 2008-07-16 18:10:19 -07:00
Andreas Gal
11e24e5bb4 Add testcase for chains for global calls. 2008-07-16 18:08:58 -07:00
Andreas Gal
5e1f1a851b Fix generation of VOID immediates and initialize rval after the new frame was setup by CALL. 2008-07-16 17:44:44 -07:00
Andreas Gal
ab2f8416a9 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. 2008-07-16 17:29:08 -07:00
Andreas Gal
bdf79e7935 Add test case for CALLPROP. 2008-07-16 15:53:04 -07:00
Andreas Gal
7e947d706b Don't intern global function objects onto the native frame since we rarely ever need them anyway (we call them via the property cache). 2008-07-16 15:48:51 -07:00
Andreas Gal
17c5a0d239 Enable CALLNAME and add test case for it so we can call global functions. 2008-07-16 15:40:35 -07:00
Andreas Gal
e40c27e48d Add test cases for call. 2008-07-16 15:26:51 -07:00
Andreas Gal
3456c6f0ec Make sure this/argv[-1] is set fpr CALLVAR and CALLARG. 2008-07-16 15:13:27 -07:00
Andreas Gal
7298396084 Enable inlining for calls. Deep bailouts (from within side exits) are generated but are not allowed to be ever taken (for now). 2008-07-16 15:01:55 -07:00
Andreas Gal
465f6c4288 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). 2008-07-16 14:36:50 -07:00
David Anderson
4f0e18b670 Synced nanojit with TT tip. 2008-07-16 14:21:31 -07:00
shaver@mozilla.org
c2220078ce fix GETXPROP; thanks to brendan for playing chewbacca 2008-07-16 13:10:17 -04:00
shaver@mozilla.org
5d8295a18c CALLARG, CALLVAR 2008-07-15 23:37:57 -04:00
shaver@mozilla.org
f671e7b977 fix scalpel left in nativeFrameSlots from aborted thisp addition to frame 2008-07-15 23:20:53 -04:00
shaver@mozilla.org
2136865a8a implement JSOP_MOD 2008-07-15 23:19:29 -04:00
shaver@mozilla.org
1c6e05b518 Trace JSOP_THIS and JSOP_THISPROP.
Rename getprop to get_prop, just because.
Extract COMPUTE_THIS to jsinterp.h as JS_COMPUTE_THIS for reuse in tracer.
2008-07-15 21:37:00 -04:00
Andreas Gal
14d275934b Fix uncomplete range check for slot numbers of interned globals. 2008-07-15 17:10:52 -07:00
Andreas Gal
6aa74fd10e Added math-partial-sums.js for danderson. 2008-07-15 17:07:24 -07:00
Andreas Gal
0cd1df652c Remove dead code. 2008-07-15 16:25:19 -07:00
Andreas Gal
d0ac13e8c9 Aliasing cleanup for LIR.h. Patch submitted for upstream review. 2008-07-15 16:17:34 -07:00
Andreas Gal
319455e0ce Strict aliasing cleanup. 2008-07-15 16:14:00 -07:00
Andreas Gal
22112d7fad Add a few consts to char* pointers to pacify gcc 4.2. 2008-07-15 16:04:08 -07:00
Andreas Gal
6686004130 Compilation fixes for gcc 4.2. Ripp out write-barrier code in our avmplus glue layer. 2008-07-15 15:58:43 -07:00
Andreas Gal
edf66b558f Merge. 2008-07-15 15:54:07 -07:00
Andreas Gal
b729c7668e Switch tracemonkey over to gcc-4.2 on macosx. We need a compiler that was released in this millenium so we can use SSE2-based calling conventions. 2008-07-15 15:53:38 -07:00
shaver@mozilla.org
ca4e5926f9 rename getpropfromval, it burns mine eyes 2008-07-15 18:29:42 -04:00
Andreas Gal
27f1faf389 Assign blame where blame is due. 2008-07-15 15:05:16 -07:00
Andreas Gal
0c2ba01a9a Merge. 2008-07-15 13:14:05 -07:00
Andreas Gal
8510740900 Add missing namespace use (pending upstream for review.) 2008-07-15 13:12:14 -07:00
Andreas Gal
3f8fd8325a Sync with TT. 2008-07-15 13:06:05 -07:00
shaver@mozilla.org
e3eb8b8a70 initialize dslots_ins 2008-07-15 13:40:11 -04:00
Brendan Eich
d49babfbb7 Propagate error exceptions from TraceRecorder ctor; fiddle/trim space. 2008-07-15 10:26:15 -07:00
shaver@mozilla.org
852092181c GETVARPROP, GETARGPROP, GETXPROP 2008-07-15 13:17:51 -04:00
shaver@mozilla.org
1e5cb70b56 more ABORT_TRACE instrumentation (some should be asserts?) 2008-07-15 09:07:54 -04:00
Andreas Gal
5a8460802e 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. 2008-07-15 01:53:39 -07:00
Andreas Gal
db779b5fc8 Remove state exposing accessor functions from recorder and instead hand in that state via the constructor into ExitFilter. 2008-07-15 01:27:14 -07:00
Andreas Gal
bcc152e41a Guard in FragmentInfo on the shape of the global object. Don't check for the shape of the global object on the trace. 2008-07-15 01:08:13 -07:00
Andreas Gal
30a0a39e21 Store list of interned global slots in struct FragmentInfo 2008-07-15 01:03:49 -07:00
Andreas Gal
e7ce814072 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.) 2008-07-14 19:12:50 -07:00
Andreas Gal
b779c15706 Fix warnings. 2008-07-14 17:52:38 -07:00
Andreas Gal
f353de24c1 Use JS_GetGlobalForObject to get the global object. Walking back the call chain is not equivalent and not safe. 2008-07-14 16:40:38 -07:00
shaver@mozilla.org
4003fe23db fix our aliasing idiocy by extending jsdpun, add Math.sqrt, add strict-aliasing to our Makefile.ref flags 2008-07-14 18:22:05 -04:00
Brendan Eich
73b9a6f0c5 Non-null prop from js_LookupProperty means found, so must unlock obj2 (now pobj) in all such cases. 2008-07-14 00:13:31 -07:00
Andreas Gal
a4cb1dd828 Clean up shaver's cleanup. 2008-07-13 22:02:42 -07:00
Andreas Gal
93bf68110b Fixed printing of integer incoming values in DEBUG mode. 2008-07-13 21:53:35 -07:00