Commit Graph

15252 Commits

Author SHA1 Message Date
Andreas Gal
debb2cc333 Added RegAlloc.h and Fragmento.h from TT. 2008-06-18 21:23:53 -07:00
Andreas Gal
0c21fdbd7e Added LIR.h from TT. 2008-06-18 21:11:15 -07:00
Andreas Gal
0e152648fe Added Native*.h from TT. 2008-06-18 20:57:17 -07:00
Andreas Gal
eed27a563d Added nanojit.h from TT. 2008-06-18 20:49:37 -07:00
Andreas Gal
f65ca9580f Renamned avm.h to avmplus.h
--HG--
rename : js/src/nanojit/avm.h => js/src/nanojit/avmplus.h
2008-06-18 20:45:37 -07:00
Andreas Gal
8228c504ce Added BitSet data structure for nanojit. 2008-06-18 20:29:01 -07:00
Andreas Gal
71546267c3 Rewrite AVM's data structures to work within spidermonkey to create an environment that allows us to land nanojit in SM. 2008-06-18 19:55:26 -07:00
Andreas Gal
e04746d2c0 Make fast inc/dec traceable. 2008-06-18 17:40:32 -07:00
Andreas Gal
1a0333027b Added new primitive guard_can_do_fast_inc_dec and report reason for trace aborts. 2008-06-18 16:23:24 -07:00
Andreas Gal
ee79053ae8 More work on the recorder. 2008-06-17 20:24:07 -07:00
Andreas Gal
737e387076 Fixes to the trace recorder. 2008-06-17 13:30:59 -07:00
Andreas Gal
40be837c3c Merge. 2008-06-15 17:49:28 -07:00
Andreas Gal
6fedd2b687 Call into the recorder for each primitive. Don't use vp in primitives, use &v instead. 2008-06-15 16:31:28 -07:00
Brendan Eich
77dcedf8cc Fix slew of gcc warnings, clear pending exception before triggering recorder error. 2008-06-12 12:07:04 -07:00
Andreas Gal
179be35727 Notify the recorder of all primitives as they are recorded. If the recorder doesn't support a primitive we abort the trace. In debugging mode this also stops the VM. 2008-06-11 20:22:00 -07:00
Andreas Gal
448d1ba7e3 Merge with be's last push. 2008-06-11 18:13:43 -07:00
Andreas Gal
ab59446c58 Initialize ok to true if we didn't side-enter via state. 2008-06-11 18:05:58 -07:00
Andreas Gal
bb1b206714 Use an error property in the recorder instead of a return value to indicate errors and make sure DO_OP aborts the trace once we go into the error state in the tracer. 2008-06-11 17:59:28 -07:00
Andreas Gal
2a34b19f23 js_CallRecorder has no return value any more. 2008-06-11 17:36:35 -07:00
Brendan Eich
a64ed1a5ee native_pointer_to_jsval should not lose low-order bits (plus random style nits). 2008-06-11 17:21:15 -07:00
Andreas Gal
54dd5103e9 Track data flow through variables in the recorder. Set an error flag if the recorder signals an error. 2008-06-11 17:15:49 -07:00
Brendan Eich
c58ac03421 Fix used before set ok bugs, fiddled ifdef style a bit. 2008-06-11 13:55:34 -07:00
Brendan Eich
6be978e069 Expand tabs. 2008-06-11 13:09:25 -07:00
Brendan Eich
74c80d5597 Kill trailing spaces. 2008-06-11 13:07:24 -07:00
Andreas Gal
b484f790e4 Start hooking the recorder into the tracer. 2008-06-11 12:12:29 -07:00
Andreas Gal
73698e5e72 Pass JSContext* to all primitives (needed by the recorder.) 2008-06-11 11:46:47 -07:00
Andreas Gal
fef28e9f56 Allow recorder to abort recording. 2008-06-11 11:29:35 -07:00
Andreas Gal
3e75d9e04e Save and restore ok when switching interpreters. 2008-06-11 09:01:29 -07:00
Brendan Eich
e90aa46c27 Init ok before goto exit, plus indentation style policing. 2008-06-11 03:41:50 -07:00
Andreas Gal
76f6917ece Cleanup and fixed beneign bug. 2008-06-11 01:32:02 -07:00
Andreas Gal
50bf94c527 Notify recorder when tracing starts/stops. Restore code accidently lost during last merge. 2008-06-11 01:22:39 -07:00
Andreas Gal
9bb9f4893d Connect tracer with the interpreter. Errors and exits are handled in the main interpreter. 2008-06-11 00:21:51 -07:00
Andreas Gal
8dee65f176 Merged with Brendan's changes. 2008-06-10 22:30:46 -07:00
Andreas Gal
c79c0bfeef Added code to switch to the tracer and back. Incomplete and for review only. 2008-06-10 22:20:05 -07:00
Brendan Eich
f8e68441c2 No need for eval call. 2008-06-10 21:46:03 -07:00
Brendan Eich
45358518de Minimize JSInterpreterState, fix warning. 2008-06-10 21:40:47 -07:00
Brendan Eich
57eff0cc24 Style nits, plus no need for rt in JSInterpreterState. 2008-06-10 19:40:09 -07:00
Andreas Gal
b5238a9929 Create a side-entry path into the interpreter that bypasses the initialization code and allows switching back and forth between two interpreters (i.e. tracing and non-tracing). 2008-06-10 17:45:38 -07:00
Andreas Gal
17d0d41459 Added branch monitoring using a single unified branch frequency counter. 2008-06-10 16:49:05 -07:00
Andreas Gal
a1bf0819b2 Removed JSOP_HEADER code. Its too costly. This patch restore essentially the same performance as unmodified SM. 2008-06-10 14:44:51 -07:00
Andreas Gal
aa4de72f2b Disable JSOP_HEADER counting. 2008-06-10 14:17:05 -07:00
Andreas Gal
5f7b163827 Use higher optimization settings for jsinterp.cpp to ensure inlining. 2008-06-10 13:59:43 -07:00
Andreas Gal
b54446d182 Fixed typo that caused sunspider to fail. 2008-06-09 18:30:08 -07:00
Andreas Gal
1710081f69 Merge. 2008-06-09 14:53:21 -07:00
Andreas Gal
82d514b492 Merge. 2008-06-09 14:48:23 -07:00
Andreas Gal
0077c6a422 Backed out value_to_iter inline method extraction. 2008-06-09 14:47:14 -07:00
Andreas Gal
76e4f25384 Merge. 2008-06-09 14:46:26 -07:00
Andreas Gal
70e23d6dc1 Backed out do_dorinloop inline method extraction. 2008-06-09 14:45:32 -07:00
Andreas Gal
4c62143960 Backed out extraction of code from the interpreter loop as inline method. 2008-06-09 14:33:40 -07:00
Brendan Eich
a6b3eeb630 Merge. 2008-06-08 17:05:46 -07:00