Commit Graph

668 Commits

Author SHA1 Message Date
Andreas Gal
5fdd5d2b67 Properly handle cmov and sse2 flags, and put them in a central place not into each platform-dependant assembler (457355, r=danderson). 2008-09-26 20:39:21 -07:00
Neil Rashbrook
6f6de04b5e Make nanojit build non-debug with VC7.1 (bug 455210, r=danderson). 2008-09-24 10:21:49 -07:00
David Anderson
ccd5e825b9 Fixed jstracer's operator delete leaking out into other shared libraries (bug 452721, r=gal). 2008-09-23 18:12:53 -07:00
Andreas Gal
da5081c842 Properly calculate tree exit/call guards (bug 453397, r=danderson). 2008-09-19 18:45:57 -07:00
Boris Zbarsky
c504a551d6 Adding some comments 2008-09-19 17:54:49 -04:00
Andreas Gal
dab25898eb Don't export operator new/delete except if really needed (452721, r=danderson). 2008-09-16 13:57:59 -07:00
Vladimir Vukicevic
81dcc17709 Get rid of bogus nanojit arm platform stats line 2008-09-10 13:08:08 -07:00
Vladimir Vukicevic
4a51b1989f [arm] Use preindexed STR instruction instead of separate STR and SUB in asm_pusharg 2008-09-05 18:24:58 -07:00
Vladimir Vukicevic
de76f2638d [arm] Have asm_quad copy direct from const to destination, if there's no register allocated for the const -- don't load into fp reg just to store it. 2008-09-05 17:24:54 -07:00
Vladimir Vukicevic
66c6f5db3a [arm] use arm_ADDi and let it take care of LD32 if necessary. 2008-09-05 17:23:36 -07:00
Vladimir Vukicevic
0b61a36a81 [arm] Don't load arg into a register in asm_pusharg if it's not in one already. 2008-09-05 17:19:31 -07:00
Vladimir Vukicevic
5c53ce04cc [arm] Don't use STMIA + ADD to move a fp call result into memory; use two STRs. Also use Scratch + tmp reg for asm_mmq, instead of just tmp. 2008-09-05 17:18:33 -07:00
Vladimir Vukicevic
7f39cd73d0 [arm] speed up store64 with constant value; also use xor for imm0 loads into a gp reg 2008-09-05 17:17:25 -07:00
Vladimir Vukicevic
02b2a31dc8 [arm] make asm_quad stick its constants into the instruction stream, with a branch over, to ensure that the data is close enough for a PC-relative FLDD 2008-09-05 17:15:23 -07:00
Vladimir Vukicevic
6ef2cd20aa [arm] Make ADDi into a function, since it's doing a lot of work 2008-09-05 17:14:05 -07:00
Ginn Chen
2763e5d63e Make TraceMonkey build on Solaris x86 with Sun Studio 12 (bug 452588, r=danderson). 2008-09-05 16:56:03 -07:00
David Anderson
85d4033733 Fixed a verbosity mode memory leak in LirNameMap::addName (bug 453895, r=sayrer). 2008-09-05 16:05:13 -07:00
Ginn Chen
a3f5be56ad Added new macro AVMPLUS_UNIX to reduce redundancy and add Solaris support to the TM browser build (bug 452589, r=dvander). 2008-09-05 15:15:00 -07:00
David Anderson
f7e43913ab Fixed verbose printing typo on AMD64. 2008-09-04 19:39:18 -07:00
David Anderson
1fef1cf8ac Make sure 32-bit loads into 64-bit registers are sign-extended. 2008-09-04 18:32:00 -07:00
David Anderson
073cbf54c2 Improved AMD64 allocation for float ops that get stored back into memory. 2008-09-04 11:56:54 -07:00
David Anderson
5e828c58d4 Fixed float ops to deal with being handed an LHS GPR reservation on AMD64.
Fixed nanojit LIR verbosity crashing on AMD64.
2008-09-04 11:53:49 -07:00
Neil Rashbrook
4625709517 Fixed nanojit not building on VC 7.1 (bug 453636, r=dvander). 2008-09-04 10:29:50 -07:00
Vladimir Vukicevic
a4ec50d569 Add VFP for floating point ops to nanojit ARM backend. 2008-09-02 22:29:23 -07:00
Vladimir Vukicevic
628b27d198 Indentation sanity fixes; no code changes. 2008-09-02 22:29:23 -07:00
Vladimir Vukicevic
2a520bab9f Split NativeThumb.cpp into NativeThumb.cpp and NativeARM.cpp; no code changes. 2008-09-02 22:29:23 -07:00
Vladimir Vukicevic
420e72ed85 b=449526, TM: fix up ARM code generation / softfloat 2008-09-02 22:29:23 -07:00
Ginn Chen
76f8dc0daf On x86 compilers without fastcall, simulate it when invoking traces and un-simulate it when invoking builtins (bug 452390, r=dvander). 2008-09-02 11:43:55 -07:00
David Anderson
ceb2e8139c Build fixes for MSVC 7.1 and mingw (bug 451881, patch from neil@parkwaycc.co.uk). 2008-09-02 10:28:14 -07:00
David Anderson
b6b115b496 Fix for building on FreeBSD (bug 452315, patch from Jeremy Lea). 2008-09-02 10:21:41 -07:00
David Anderson
1be49b5c2e Use mmap() instead of valloc() in nanojit, abort on mprotect() failure (bug 451946, patch+r from Asko Tontti). 2008-09-02 10:15:26 -07:00
Jesse Ruderman
5663d9166a Turn NANO_DIE macro into NanoAssertFail function so that it shows up in stack traces. Having it appear in stack traces makes it clear the exit was due to an assertion failure rather than a real crash. Followup to bug 452674. 2008-08-28 19:07:49 -07:00
David Anderson
6ab07e371a Merge. 2008-08-28 17:28:36 -07:00
David Anderson
d5e48e84d7 Added descriptive messages to always-taken assertions in Nativei386.cpp. 2008-08-28 17:27:29 -07:00
Jesse Ruderman
db3a854298 Fix NanoAssertMsgf in non-debug builds. Regression from my patch in bug 452674. 2008-08-28 17:15:51 -07:00
Jesse Ruderman
67955c4c42 Add a message to a NanoAssert(0) to make it possible to match against. r=gal 2008-08-28 17:00:52 -07:00
Jesse Ruderman
12aa1d345a Bug 452674: change NanoAssert* macros to make it easier to check for nanojit assertions in automated testing. r=danderson. 2008-08-28 16:57:49 -07:00
Jesse Ruderman
2530465041 Bug 452570 - NanoAssert doesn't end the message with a line break 2008-08-28 00:15:34 -07:00
David Anderson
d3cb344df7 Fixed asserting on valid LIR in AMD64 LIR_qcmov (bug 452545, patch from Makoto Kato). 2008-08-27 19:49:26 -07:00
David Anderson
f166d24a5c Merge. 2008-08-27 16:54:17 -07:00
David Anderson
bc995a482b Fixed AMD64 loop branch patching for >32-bit offstes. 2008-08-27 16:52:28 -07:00
David Anderson
ccc26331ca Removed INS_CONSTPTR use with JSVAL_TAG to discourage future 64-bit problems. Fixed 32-bit build. 2008-08-27 16:32:11 -07:00
David Anderson
d0d64bbeff Added LIR_qior/pior. Fixed more AMD64 page jumping bugs. Fixed some other AMD64 usage bugs in jstracer. 2008-08-27 16:08:59 -07:00
David Anderson
d7c7f1645b Improved AMD64 out-of-range jumping, some cases are still broken though. Fixed i386 build. 2008-08-26 23:14:13 -07:00
David Anderson
2a4faa131c Fixed crashing with the incremental allocation changes. Very long jumps are still a problem but at least now we assert. 2008-08-26 15:15:15 -07:00
Andreas Gal
eb0c261390 When extending an outer tree from its nesting guard, the guard we actually exited on determines the typemap for the current frame and all inlined frames, whereas the nesting guard is consulted for all type information frames below the current frame. 2008-08-26 01:00:53 -07:00
Andreas Gal
2fb04231fe Allocate nanojit code cache incrementally (bug 443111). 2008-08-22 16:37:37 -07:00
David Anderson
36ea645fbe Bug 451743 - On x86 processors, only use SSE2 if the processor supports it, otherwise default back to x87 FPU (r=gal, sr=mrbkap) 2008-08-22 12:21:27 -07:00
David Anderson
f34f92698f Fixed code generation bug in AMD64 port. Enabled AMD64 JIT now. 2008-08-21 02:53:53 -07:00
Vladimir Vukicevic
1bbc109274 wrong condition check in nanojit with qjoin(qlo,qhi) 2008-08-20 11:32:22 -07:00
shaver@mozilla.org
d1f7543e1b default to non-verbose for DEBUG, set TRACEMONKEY=verbose in env to go verbose 2008-08-20 10:15:42 -07:00
David Anderson
738ce385fa Merge. 2008-08-20 09:50:41 -07:00
Andreas Gal
39d9d53d83 Back out multi-trees. There is absolutely no way this will be debugged in time for tomorrow. Need a bit more gdb man-power. 2008-08-19 23:28:13 -07:00
David Anderson
9fa5be54af Merge. 2008-08-19 21:32:22 -07:00
David Anderson
20e464b4f9 More AMD64 fixes (release build works now, and fixed verbosity bug). 2008-08-19 21:31:23 -07:00
Andreas Gal
454c89d72b Support multiple fragments with different entry maps per PC location. 2008-08-19 20:30:16 -07:00
David Anderson
9a5b3b4307 AMD64 trace-tests.js passes now (hacked in LIR_qcmov opcode, corrected builtin return types). 2008-08-19 17:19:19 -07:00
David Anderson
aef458673b Fixed codegen bug for amd64 64-bit binary ops. 2008-08-19 11:00:17 -07:00
David Anderson
0f46c5d568 Fixed some bugs in the AMD64 port, still crash in 5 sunspider tests. 2008-08-18 16:23:37 -07:00
David Anderson
d584e27cb8 Fixed compiling on AMD64. 2008-08-18 12:41:55 -07:00
David Anderson
b39fadd1f3 Updated nanojit for the AMD64 patch. 2008-08-18 12:32:14 -07:00
Andreas Gal
c7f1119cef Add a ->first pointer to all fragments that points to the first fragment in the peer list. This is the fragment we do JIT throttling/blacklisting on. 2008-08-16 15:41:21 -07:00
Andreas Gal
af92aac55a Append peer fragments at the end of the list (so f->blacklist() always counts against the same fragment). 2008-08-16 11:42:38 -07:00
Andreas Gal
7b954b5cd7 Add the concept of peer fragments to nanojit. Each loop fragment can have a number of peer fragments, which we can use to have several different specialized variants of a loop (i.e. for different types). The makefile doesn't pick up the change to Fragmento.h, so make sure you clobber by hand or you will end up wasting an hour of your life in gdb (like me.) 2008-08-15 20:15:47 -07:00
Blake Kaplan
40e749ecc6 bug 450765 - Fix aliasing in LIR.h 2008-08-15 09:55:32 -07:00
Andreas Gal
bfcf6a784d Write back outer tree frames, but exclude the current frame (which the next tree will do). This still crashes the trace-tests.js test case with nesting enabled and for the life of me I can't figure out why (try with TRACEMONKEY=nesting). 2008-08-14 01:44:32 -07:00
Andreas Gal
0530506440 Restore state of the outer frames in case of a nested exit. Should be feature complete but needs more debugging. 2008-08-13 21:34:41 -07:00
Andreas Gal
201341cfc5 Add nestedExit to InterpState and comment its fields. 2008-08-13 17:12:55 -07:00
Andreas Gal
fa09943222 Flexible call stack allocation with proper guarding for call stack overflows. 2008-08-13 13:51:59 -07:00
Andreas Gal
76a2288dcc Assert on bogus always-exit guards. 2008-08-13 12:01:06 -07:00
David Anderson
b070351870 Fixed ExprFilter emitting corrupt LIR when reducing guards. 2008-08-13 11:11:37 -07:00
Andreas Gal
58cd4dc419 Introduce a large fixed-size native frame stack and store its ceiling in state->eos. 2008-08-12 21:39:44 -07:00
Andreas Gal
3fd013cd9b Merge. 2008-08-12 20:19:05 -07:00
Andreas Gal
ed3125b915 Hands down the hardest bug I had to debug in TM so far. Make sure to read back any registers an inner tree might have changed before writing out the typemap for the nested_exit guard, otherwise we might be pointing to old stale pre-(inner-)loop state and pick an incorrect (in this case too narrow) type. fannkuch=2.8x with this. 2008-08-12 20:18:29 -07:00
Brendan Eich
967ec56341 - Add String match and three replace overloadings, and allow known native matching to continue in search of exact match (not best, and not abort on first mismatch).
- Add CallGetter built-in and use it for regexp class-getter-implemented prototype properties.
- Add BUILTIN5 support (this should be "it" ;-).
2008-08-12 18:52:28 -07:00
Andreas Gal
95c7647b28 Add constvalp and isconstp to LIR instructions (nanojit). 2008-08-12 17:37:38 -07:00
David Anderson
40213894ff Fixed nanojit using a variable before it got set (verbosity mode only it seems). 2008-08-12 10:45:24 -07:00
Andreas Gal
1f5ce03d99 Don't try to delete names if we are not building a DEBUG build. 2008-08-11 17:49:56 -07:00
David Anderson
c5a85f7524 Merge. 2008-08-11 16:14:29 -07:00
David Anderson
1b623f7d25 Added explicit deallocation (bug 443500, r=gal) 2008-08-11 16:01:21 -07:00
Andreas Gal
80ab94547d Remove obsolete Tests.cpp file. 2008-08-11 15:59:11 -07:00
Andreas Gal
020e68ab1e Remove default parameter for guard, specify MISMATCH_EXIT explicitly. 2008-08-11 15:40:04 -07:00
Brendan Eich
2991c66416 - Avoid unnecessary FASTCALL builtin wrappers for existing js_* library-private or friend functions, which could be (and now are) fastcall (JS_FASTCALL). A couple of builtins avoid name collisions by using js_Fast instead of just js_ as their name prefix.
- Use GCF_DONT_BLOCK from fastcall builtins that call into the GC allocator (mostly; a few places need help still, or better: need to avoid allocation).
- Cope with C clients of jscntxt.h and its include files (these hacks should go away).
- Naming convention and function definition line-break style nit-picks.
2008-08-10 00:39:18 -07:00
Andreas Gal
3f90159e8b Remove ip from InterpState. Calculate the new pc after a trace side exit relative to lr->from->root->ip, which also works if we side exit on a different tree than we entered (which can happen in case of nested trees.) 2008-08-08 18:20:20 -07:00
Andreas Gal
c7be42f2f3 Add very preliminary nesting for trees. This is disabled by default. To enable set TRACEMONKEY=nesting in the environment. 2008-08-08 15:26:31 -07:00
Andreas Gal
6bd49e0d49 Make ip in InterpStruct const*. 2008-08-06 15:55:00 -07:00
Andreas Gal
f0c74cce54 Sync with tamarin-tracing/nanojit tip. 2008-07-31 13:28:12 -07:00
Andreas Gal
86aa1f7ff7 If trees are not enabled, don't try to reuse state and param1. 2008-07-30 21:40:21 -07:00
Andreas Gal
afc7936599 Remember number of global slots known at that point in the trace in every side exit (forward-looking change to cope with dynamic collection of interned globals.) 2008-07-30 00:15:07 -07:00
David Anderson
60181b7fd2 Fixed some MSVC whinings, implemented rdtsc on win32 2008-07-29 19:19:51 -05:00
Andreas Gal
5a7ac301e6 Limit tree growth to side exits that expicitly declare that they want to be grown. 2008-07-29 11:13:41 -07:00
Andreas Gal
4710877c9a Merge. 2008-07-27 16:19:15 -07:00
Andreas Gal
6126f5fa5c Track the type of guards and react accordingly if we bail out on them. Guards that protect against out-of-memory conditions don't try to grow the tree. Instead we just resume the interpreter. 2008-07-27 16:18:53 -07:00
shaver@mozilla.org
a4af3457f4 do setelem in a builtin, so we don't abort trace every 8 times when growing 2008-07-27 18:34:23 -04:00
Andreas Gal
ecb79b1640 Determine ahead of time whether a side exit is a loop-terminating side exit instead of re-determining this at every side exit. 2008-07-25 01:44:40 -07:00
Andreas Gal
41e0593392 Maintain a separate frame for globals using InterpState->gp.
This will allow nested loops to access the globals interned by outer loops while at the same time sharing parts of the stack of the outer loop.
2008-07-23 23:18:02 -07:00
Andreas Gal
1c9c67b6a1 Write all the debug output to stdout (we can't easily make everything go to stderr, so this way at least it all goes into the same place.) 2008-07-18 14:13:31 -07:00
Andreas Gal
f309cf6b64 Try to clean up the memory allocation/deallocation through the avmplus glue code. 2008-07-17 21:31:50 -07:00
Andreas Gal
591262852c Don't allocate FpRegs if sse2 is enabled. 2008-07-17 15:00:22 -07:00
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