Commit Graph

1713 Commits

Author SHA1 Message Date
dvander@traceknight.local
ee94b07a44 Fixed cases of the tests not prepping the tracer properly for verbosity 2008-06-20 13:55:56 -07:00
dvander@traceknight.local
f086d675e7 fixed constructor relying on zero'd allocation 2008-06-20 11:48:02 -07:00
dvander@traceknight.local
10ed967625 fixed memory corruption in verbosity initialization code 2008-06-20 11:43:49 -07:00
dvander@traceknight.local
f1a775ac86 use valloc() on Darwin for GCHeap 2008-06-20 11:38:46 -07:00
dvander@traceknight.local
7feb713f8b fixed code generation for the LIR_in -> LIR_param change 2008-06-20 11:38:21 -07:00
Andreas Gal
9c6e4287f1 Properly align pages allocated by GCHeap. 2008-06-19 20:12:48 -07:00
Andreas Gal
ddb6af4683 Switch to malloc (avoid new where possible) and properly initialize capacity. 2008-06-19 19:19:39 -07:00
Andreas Gal
33ecda6e85 Added danderson's test cases for nanojit. Execute with nanojit() from JS shell. 2008-06-19 18:28:15 -07:00
Andreas Gal
4ddef8f5e3 Added hook to trigger nanojit test code from the JS shell. 2008-06-19 17:14:17 -07:00
Andreas Gal
48b30922c7 Drop helper code that is no longer needed. 2008-06-19 15:49:32 -07:00
Andreas Gal
9a6946405f Added necessary glue code to make nanojit compile in DEBUG mode. 2008-06-19 15:32:40 -07:00
Andreas Gal
5a17de3bca Landed nanojit in TraceMonkey. This is untested and DEBUG must be off for now since we don't support AVM's String class. 2008-06-19 10:47:58 -07:00
Andreas Gal
f5d51ff347 Added Assembler.h and vm_fops.h (blank for now) from TT. 2008-06-18 21:32:23 -07:00
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