Commit Graph

919 Commits

Author SHA1 Message Date
shaver@mozilla.org
9182a834c4 copy capacity when becoming another list 2008-07-16 23:11:17 -07:00
David Anderson
5dca2ad552 Synced nanojit with TT tip. 2008-07-16 14:21:31 -07:00
Andreas Gal
d9110d8393 Aliasing cleanup for LIR.h. Patch submitted for upstream review. 2008-07-15 16:17:34 -07:00
Andreas Gal
7c24d0f34d 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
42d91c123d Add missing namespace use (pending upstream for review.) 2008-07-15 13:12:14 -07:00
Andreas Gal
a81b83090e Sync with TT. 2008-07-15 13:06:05 -07:00
Andreas Gal
9f761173f0 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
shaver@mozilla.org
3cd4d74f76 here, have a _working_ Thumb back-end 2008-07-11 00:45:54 -04:00
shaver@mozilla.org
6f69036887 here, have a Thumb back-end 2008-07-11 00:40:26 -04:00
shaver@mozilla.org
634b195855 the rest of the stdint defs, no idea why I didn't do them before 2008-07-10 20:25:57 -04:00
shaver@mozilla.org
34f7e86edf use VirtualAlloc for Windows, since it lacks valloc 2008-07-10 18:39:51 -04:00
shaver@mozilla.org
0b285b6a7e FASTCALL for Windows 2008-07-10 17:16:31 -04:00
shaver@mozilla.org
e2ed248ddf int32_t, now available on Windows 2008-07-10 16:58:08 -04:00
shaver@mozilla.org
929e6f9e95 MSVC knows about intptr_t, and doesn't like our remix 2008-07-10 10:21:29 -04:00
shaver@mozilla.org
45b694dc35 I'm going to just keep bludgeoning these typedefs until they stick 2008-07-10 10:18:22 -04:00
shaver@mozilla.org
853e2a057b try to find malloc on Linux; this buildbot thing rules the school 2008-07-10 10:03:45 -04:00
shaver@mozilla.org
2e3334d255 use typedefs instead of stdint.h, because someone forgot to tell MSVC it was 2008 2008-07-10 09:52:34 -04:00
shaver@mozilla.org
5e83315c4d use stdint.h instead of typedefs to help Linux find intptr_t 2008-07-10 09:20:36 -04:00
Andreas Gal
1dbb6a7d41 Backed out changeset 234230320093 (reducing code cache size due to startup issue.) 2008-07-09 23:42:27 -07:00
Andreas Gal
76abd00d44 Reduce code cache size until we fix the page allocation code to not touch all the pages at startup (nanojit issues, assigned to gal). 2008-07-09 17:37:41 -07:00
Andreas Gal
1c24e264ad Removed numMapEntries since typeMap is not really part of the SideExit struct yet anyway. 2008-07-09 00:13:35 -07:00
David Anderson
fcf8410125 Builds against latest nanojit; merged VMSideExitInfo into SideExit 2008-07-08 17:16:51 -07:00
David Anderson
202828fb20 Merged with tamarin-tracing (Moved SideExit and GuardRecord out of nanojit, improved labelling) 2008-07-08 17:09:53 -07:00
Andreas Gal
399a49e73a Removed an unused variable from the avmplus glue code. 2008-07-07 02:59:20 -07:00
Andreas Gal
e4f8fa2f97 Sync nanojit with tamarin-tracing tip. 2008-07-07 02:47:40 -07:00
Andreas Gal
cef5e9becc Make trace-code 32-bit clean and extend interpreter state to carry the current context (cx). The recorder still has to record a 31-bit int path through the loop, but the emitted code is able to stay in the tree even if values bump over to 32-bit ints. 2008-07-04 16:24:42 -07:00
Andreas Gal
9b8f5f75a8 Added back support for the instructions required to compile trace.js. 2008-07-04 03:06:18 -07:00
Andreas Gal
d263173a72 Avoid name clash between nanojit and jsinter.cpp (full patch queued up for tamarin). 2008-07-03 21:39:34 -07:00
Andreas Gal
228a13576a Add a vmprivate field to the guard record (queued for review upstream). 2008-07-02 14:37:01 -07:00
Andreas Gal
31ef2f7b34 Don't allocate 16MB code cache at startup. Instead use an exponentially increasing growth factor. 2008-07-02 00:42:40 -07:00
Andreas Gal
08bd8d4245 Generate proper overflow detection code. Requires a trivial fix in nanojit (included, pending review to be pushed upstream). 2008-07-02 00:13:05 -07:00
Andreas Gal
f3fba20c9c Create type maps during trace entry and in each side exit and store them in the LIR using LIR_skip. Use these type maps during trace entry and exit. 2008-07-01 19:43:10 -07:00
Andreas Gal
697a294d14 Sync up with TT tip. 2008-07-01 14:46:10 -07:00
Andreas Gal
d3e7a57a68 Fix deallocation bug in the recorder. We will have to lift more code Tamarin's Interpreter to stabilize the recording. 2008-07-01 02:37:07 -07:00
Andreas Gal
e6b28ce4f8 Sync with TT-tip. 2008-06-30 15:33:41 -07:00
Andreas Gal
f8a6a789d0 Cleanup memory management. Use new char[] inside our overloaded new operator that clears out memory. 2008-06-30 12:00:31 -07:00
Andreas Gal
b1e24b8c98 Execute trace code. Boxing back the side exit state is not handled yet. 2008-06-29 20:56:06 -07:00
Andreas Gal
1f37ae3e62 Small cleanups and licensing blurb housekeeping. 2008-06-28 09:58:15 -07: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
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
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