Commit Graph

1744 Commits

Author SHA1 Message Date
Andreas Gal
693ee7f0cc Turn macros into inline functions and start prepatations for inlining function calls. 2008-06-26 21:19:11 -08:00
Andreas Gal
c7bab6721b Drop JS prefix from classes related to traceing. 2008-06-26 19:49:04 -08:00
Andreas Gal
ad5ceed9cd Merge. 2008-06-26 19:46:51 -08:00
Andreas Gal
a1b42735cd Backed out changeset fa82b7eda72a 2008-06-26 19:44:23 -08:00
Andreas Gal
2fddbfdceb Removed debug printfs from tracker. 2008-06-26 19:41:58 -08:00
Andreas Gal
5b4f0aaeaa Allocate recorder dynamically to avoid having a vtable in the struct holding the reference. Emit writebacks for every update to the tracker, not just stack writes. 2008-06-26 19:37:28 -08:00
Andreas Gal
407b9cdf75 Parameterize tracker. 2008-06-26 17:13:54 -08:00
Andreas Gal
d3e1a067e5 Merge. 2008-06-24 15:58:21 -07:00
Andreas Gal
4678be95aa Fix a bug in tracing can_do_fast_inc_dec (wasn't tracking a copy and traced incorrect code). Merge with TT tip. 2008-06-24 15:57:33 -07:00
dvander@traceknight.local
76d930e192 Fixed malloc/delete mismatch (Valgrind was complaining) 2008-06-23 18:00:03 -07:00
Andreas Gal
d8e0d5edec Removed debug code. 2008-06-23 17:17:48 -07:00
Andreas Gal
5e55f5e1f4 Merge. 2008-06-23 16:52:37 -07:00
Andreas Gal
5b30ba137c Merge. 2008-06-23 16:51:28 -07:00
Andreas Gal
40c5417190 Added example code for tracing. 2008-06-23 16:50:44 -07:00
Andreas Gal
0c1996ce25 Don't setup debugging data structures when not debugging. 2008-06-22 23:59:41 -07:00
Brendan Eich
dff03bc859 Add license block-comment, expand tabs. 2008-06-22 23:54:19 -07:00
Brendan Eich
d5d3c6fb26 Random style nit-picking. 2008-06-22 23:42:54 -07:00
Andreas Gal
f302e681aa Removed old comments that are no longer correct. 2008-06-22 23:39:44 -07:00
Andreas Gal
ab02df3893 Check at runtime that fast inc/dec is possible. 2008-06-22 22:49:12 -07:00
Andreas Gal
17d189ecb9 Eliminate boxing in trace code. To execute such traces all values on the stack must have the same type at execution time as at trace time. Code to detect and enforce these types will be added next. 2008-06-22 21:32:24 -07:00
Andreas Gal
4312eb9b9b Write back stack/local variable state in the trace code and improved redundand boxing/unboxing elimination. 2008-06-22 19:58:24 -07:00
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