Andreas Gal
|
6d192a7054
|
Added end-of-trace detection and make sure trace loops back to the loop header.
|
2008-06-22 09:30:04 -07:00 |
|
Andreas Gal
|
2270a14eb0
|
Fix guard code assembly. This code generates trace code for the first time.
|
2008-06-21 23:45:16 -07:00 |
|
Andreas Gal
|
3197b76462
|
Mork work on attaching nanojit to our primitives. Traces have now their own box type (Box), which is an opaque 64-bit value. Its never supposed to appear in the trace since we will optimize away all boxing operations.
|
2008-06-21 22:28:41 -07:00 |
|
Andreas Gal
|
78da0668af
|
Start attaching our tracer to nanojit. This is incomplete and meant for review by David only.
|
2008-06-21 14:55:32 -07:00 |
|
dvander@traceknight.local
|
4fd375f52b
|
Fixed the test case not setting the lastIns value in Fragment
|
2008-06-20 15:45:37 -07:00 |
|
dvander@traceknight.local
|
490d9eb8b5
|
Fixed _thisfrag not being set in beginAssembly
|
2008-06-20 14:40:40 -07:00 |
|
dvander@traceknight.local
|
1d79a74ace
|
Fixed beginAssembly() not setting _thisfrag which verbosity requires
|
2008-06-20 14:38:39 -07:00 |
|
Andreas Gal
|
f53b17ea14
|
Backed out explicit zeroing in the constructor of Assembler and Fragmento.
|
2008-06-20 14:30:29 -07:00 |
|
Andreas Gal
|
dbab3f5a43
|
Backed out changeset b142c62e7602
|
2008-06-20 14:29:10 -07:00 |
|
Andreas Gal
|
29c6494f2c
|
Back out explicit zeroing in the constructor and ensure heap allocated objects are implicitly zero-ed out.
|
2008-06-20 14:26:43 -07:00 |
|
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 |
|