Andreas Gal
|
dfb94ccec1
|
Add a global type map to the monitor and rename slotList to globalSlots.
|
2008-08-18 21:08:35 -07:00 |
|
Brendan Eich
|
76380c598b
|
Add a final js_ReconstructStackDepth assert after setting fp->regs->sp in js_ExecuteTree's bail-out epilog.
|
2008-08-18 19:26:47 -07:00 |
|
Brendan Eich
|
87a6e416ef
|
1. Fix json2.js (it crashes later, another bug) to restore a non-empty stack for a call with missing args after a nested bail-out. This involves changing js_SynthesizeFrame to return the number of stack slots it reconstructed that map to native slots. It also means not counting the missing args in the spdist uint16 pushed onto the state.rp stack (this was the root of all over-counting evil, for this bug).
2. Use if (C) { do {...} while (C); } instead of if (C) { while (C) {...} } and other style fixage.
|
2008-08-18 18:36:05 -07:00 |
|
David Anderson
|
e503629dbe
|
Fixed AMD64 accidentally treating the shape as a 64-bit integer.
|
2008-08-18 17:36:24 -07:00 |
|
David Anderson
|
908183cf6f
|
Merge.
|
2008-08-18 16:38:32 -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 |
|
Brendan Eich
|
21b6e353e2
|
Cosmetic cleanup.
|
2008-08-18 15:32:17 -07:00 |
|
Andreas Gal
|
f1b353f1c2
|
Add a place to store the current shape of the global object as we add slots it the global slot list.
|
2008-08-18 13:14:19 -07:00 |
|
Andreas Gal
|
ad4bfa3b5b
|
Add a global slot list to the trace monitor.
|
2008-08-18 13:12:19 -07:00 |
|
David Anderson
|
938044313a
|
Added AMD64 JIT building to the makefile.
|
2008-08-18 12:57:35 -07:00 |
|
Andreas Gal
|
199891edab
|
Merge.
|
2008-08-18 12:55:09 -07:00 |
|
David Anderson
|
751ef6d2af
|
Improved AMD64 nanojit compatibility.
|
2008-08-18 12:54:04 -07:00 |
|
Andreas Gal
|
afc782cbe2
|
Make sure to trasm the vmprivate of dependent trees as well.
|
2008-08-18 12:53:38 -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
|
f7aac4002e
|
Tighter fencepost in getTop, don't overshoot the stack (450997).
|
2008-08-18 10:09:24 -07:00 |
|
Andreas Gal
|
202a9de38b
|
Doh. Deep bailots are pretty rare and js_SynthesizeFrame already uses the fairly slow js_ReconstructStackDepth helper internally, so anotherone to avoid counting stack slots via spbase can't hurt.
|
2008-08-18 10:04:03 -07:00 |
|
Andreas Gal
|
e7645176d5
|
Merge.
|
2008-08-18 08:03:51 -07:00 |
|
Andreas Gal
|
535584eecb
|
Add a method to type map that captures missing slots (which have been lazily added to the slot list since the type map was created.)
|
2008-08-18 07:32:42 -07:00 |
|
Brendan Eich
|
4d8c1fda9b
|
Fix missing paren in comment; also s/scope/frame/ in same comment.
|
2008-08-17 12:04:33 -07:00 |
|
Andreas Gal
|
9f71dd226f
|
Extend the globalTypeMap import(), not in the caller, since we missed extending it in case of re-reading registers after a tree call.
|
2008-08-17 11:38:49 -07:00 |
|
Andreas Gal
|
f08e18fc14
|
If RecordTree is triggered, create a new peer fragment (or recycle and unused one) if we already have a tree for this location.
|
2008-08-17 00:49:59 -07:00 |
|
Andreas Gal
|
2d983bcee2
|
Try to execute the tree first, and if that fails worry about counting and triggering compilation. This speeds up trace activiation by a tiny bit, but makes code that we can't trace a little bit slower. We use a micro optimization to bypass the call to js_ExecuteTree when its clear that it wouldn't find a tree to executed to reduce this overhead. This change is necessary for multiple trees per bytecode location.
|
2008-08-17 00:30:36 -07:00 |
|
Andreas Gal
|
ef8a6041cc
|
Give root fragments a treeInfo decorator only if the trace was successfully compiled. Otherwise just keep a reference in the recorder and delete it when the recorder is destroyed. Review welcome. The involved state machine is a bit complex. Added lots of asserts as safety net.
|
2008-08-16 23:43:49 -07:00 |
|
Andreas Gal
|
26fc76213a
|
Only capture the shape of the global object in a tree once that tree tries to access a global, and only check the stored global shape in trees against the current global shape if the tree actually uses globals (which also doesn't trash trees when global variables are added if that tree doesn't actually use globals.) This is approx. a 1% win for sunspider.
|
2008-08-16 21:05:03 -07:00 |
|
Andreas Gal
|
efd76e5daf
|
Change interface of js_ExecuteTree to indicate which of the peer fragments it really executed (since we soon will have more than one tree that could be activated for that particular bytecode location).
|
2008-08-16 15:45:48 -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
|
dcb470b104
|
Add a simple script that calculates an aggregate score over all tests running with the jit in t/*.
|
2008-08-15 20:26:45 -07:00 |
|
Andreas Gal
|
b9e946d830
|
Merge.
|
2008-08-15 20:16:46 -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 |
|
Brendan Eich
|
ede29d299e
|
Merge.
|
2008-08-15 18:02:30 -07:00 |
|
Brendan Eich
|
bfc9f75d14
|
Update stale comment.
|
2008-08-15 18:01:26 -07:00 |
|
Andreas Gal
|
10a24ff80c
|
Don't allow inner trees to lazily pick up any globals since we currently can't handle that. We already ensure that we don't inline trees that have globals. This patch merely makes sure they don't get some additional globals on the fly.
|
2008-08-15 18:00:22 -07:00 |
|
Andreas Gal
|
dea1843401
|
Similarly to attaching new branches to a side exit, we might end up with a partial type map when exiting from a trace during tree execution, so make sure to merge in missing types from the tree's entry map in this case as well.
|
2008-08-15 17:11:57 -07:00 |
|
Andreas Gal
|
1d0582a6ec
|
Add test case for type map merging (450535).
|
2008-08-15 16:04:44 -07:00 |
|
Andreas Gal
|
d51fdd4130
|
If we extend a tree along a side exit that knew about fewer global slots that we have now in the tree, merge in the types for those additional slots from the entry map (450535).
|
2008-08-15 16:00:24 -07:00 |
|
Andreas Gal
|
d356a10871
|
Funnel all write-backs to the stack and the global frame through TraceRecorder::writeBack() so we can intercept and manipulate them in one central location.
|
2008-08-15 14:47:49 -07:00 |
|
Andreas Gal
|
8938c62c44
|
Enable nested trees by default. This is going to be exciting.
|
2008-08-15 10:21:07 -07:00 |
|
Andreas Gal
|
432ca408ef
|
I honestly to god don't know why this change is necessary but with this nesting works now for SunSpider and all of my test cases. The stack layout calculation needs some reviewing, seriously.
|
2008-08-15 10:19:24 -07:00 |
|
Andreas Gal
|
c42833b03c
|
Merge.
|
2008-08-15 10:12:47 -07:00 |
|
Andreas Gal
|
91a71447a9
|
Change sp_adj in guards to always reflect the current stack depth, so if we enter a trace/loop with something on the stack, sp_adj will reflect always at least that minimum amount. InterpState->sp now always runs in parallel with regs->sp of the current frame. This breaks nesting badly. I really need help with the stack layout logic.
|
2008-08-15 10:09:36 -07:00 |
|
Blake Kaplan
|
40e749ecc6
|
bug 450765 - Fix aliasing in LIR.h
|
2008-08-15 09:55:32 -07:00 |
|
Blake Kaplan
|
a6f7e7c0f7
|
Merge
|
2008-08-15 09:35:16 -07:00 |
|
Blake Kaplan
|
5aa5360905
|
bug 450529 - pass pc to String.prototype.match so we can avoid unnecessary object creation when tracing. r=brendan
|
2008-08-15 09:29:03 -07:00 |
|
Andreas Gal
|
9474c22bf7
|
Merge.
|
2008-08-14 23:23:15 -07:00 |
|
Andreas Gal
|
07cb6236c0
|
Add callee onto the stack to make sure our native frame layout matches the interpreter during calls.
|
2008-08-14 23:22:51 -07:00 |
|
Brendan Eich
|
bb1e475a4d
|
Fix gc hazard just introduced in fix for bug 450538.
|
2008-08-14 23:20:24 -07:00 |
|
Andreas Gal
|
1274eac1f3
|
Merge. I love hg.
|
2008-08-14 17:52:37 -07:00 |
|
Andreas Gal
|
6ba62a6fa7
|
Cleanup stack adjustment during tree calling.
|
2008-08-14 17:52:11 -07:00 |
|
Blake Kaplan
|
7bbee60c81
|
Don't just undepend the string, canonicalize it as well.
|
2008-08-14 17:31:39 -07:00 |
|
David Anderson
|
238cf072dd
|
Merge.
|
2008-08-14 17:28:32 -07:00 |
|
David Anderson
|
a41cb6c005
|
Fixed js_ValueToNumber overwriting values on the stack as different types, causing the exit type map to assert. The breaking conversion was JSVAL_VOID becoming a NaN. (bug 450538)
|
2008-08-14 17:27:45 -07:00 |
|
Brendan Eich
|
af7353e4e9
|
Consolidate tracing-out-of-js_Interpret abort code at bottom of js_Interpret.
|
2008-08-14 17:00:03 -07:00 |
|
Andreas Gal
|
801923081c
|
Make sure sp points to the native stack base of the inner tree when calling a nested tree.
|
2008-08-14 16:22:01 -07:00 |
|
Andreas Gal
|
13a4a98604
|
Merge.
|
2008-08-14 16:04:14 -07:00 |
|
Andreas Gal
|
1edbe7e6bf
|
Don't over-compensate sp_adj (exclude the callee).
|
2008-08-14 16:02:33 -07:00 |
|
David Anderson
|
f2223e2048
|
Merge.
|
2008-08-14 15:29:25 -07:00 |
|
David Anderson
|
2c45d81524
|
Fixed recorder not aborting when leaving js_Execute (bug 450532).
|
2008-08-14 15:29:04 -07:00 |
|
Blake Kaplan
|
8440f739f0
|
Avoid the malloc altogether if we're going to use a unit string.
|
2008-08-14 15:19:57 -07:00 |
|
Vladimir Vukicevic
|
61a89af8e6
|
b=450176; trace parseInt and parseFloat; r=gal
|
2008-08-14 15:13:39 -07:00 |
|
Blake Kaplan
|
e0872c3629
|
bug 450641 - Add missing JS_free call.
|
2008-08-14 15:03:08 -07:00 |
|
David Anderson
|
9f7d261303
|
Fixed the known native arg handler from accidentally using 'continue' to break out of a loop one level higher. This was causing crashes when the arg didn't match the expected types (bug 450530).
|
2008-08-14 11:48:43 -07:00 |
|
Andreas Gal
|
d0056d1820
|
Assert on the recording table only if we have enabled the tracer (446551).
|
2008-08-14 09:04:22 -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
|
fa52d00c5a
|
Backed out changeset 089406b2b0aa
|
2008-08-14 00:45:39 -07:00 |
|
Andreas Gal
|
55bc4df432
|
Add an explicit start frame parameter to the FORALL macros, which allows FlushNativeStackFrame to be used for other frames than just the topmost N ones.
|
2008-08-13 23:20:44 -07:00 |
|
Andreas Gal
|
a5e83b133c
|
Fix outrageously incorrect comment.
|
2008-08-13 22:54:23 -07:00 |
|
Andreas Gal
|
d6e6e333e2
|
Added bitsinbyte-ish testcase to trace-test.js. This currently still crashes the VM in nested mode.
|
2008-08-13 21:44:01 -07:00 |
|
Andreas Gal
|
2f533e6051
|
Merge. I miss CVS.
|
2008-08-13 21:37:33 -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 |
|
Brendan Eich
|
bb2a177553
|
LOL ANDR3AS SUX0RZ!!!
|
2008-08-13 19:24:40 -07:00 |
|
Brendan Eich
|
a0bf39bbaa
|
MERGE LOL HG SUX0rz!
|
2008-08-13 19:23:56 -07:00 |
|
Andreas Gal
|
8d4c97dbef
|
FlushNativeStackFrame currently only handles the innermost nested trees writeback, so at least make it use the proper adjusted stack base for that.
|
2008-08-13 19:23:28 -07:00 |
|
Brendan Eich
|
8efccf4d7d
|
Abort recording if unwinding from js_Interpret to js_Invoke and still recording (this can happen via fun.call/.apply). Also assert in threaded interpreter BEGIN_CASE and DO_OP (from END_CASE) that we either have no recorder or are using the recordingJumpTable.
|
2008-08-13 19:22:07 -07:00 |
|
Andreas Gal
|
01efe3882f
|
Update inlineCallCount with the total call stack height, which is the sum of rp_adj and any adjustments nested trees added. Also make sure to read all stack adjustment information from the tree we exit on, not the tree we entered (might be different in case of nesting.)
|
2008-08-13 19:09:05 -07:00 |
|
Andreas Gal
|
30b82dbcbd
|
Print relative stack instead of absolute stack address upon side exit (debug mode).
|
2008-08-13 18:28:43 -07:00 |
|
Andreas Gal
|
c0e640829a
|
Added test case for nested exits.
|
2008-08-13 18:13:22 -07:00 |
|
Andreas Gal
|
9350282579
|
Implement nested side exits.
|
2008-08-13 18:10:19 -07:00 |
|
Andreas Gal
|
222e746fe7
|
Merge. If I had a cent for every merge. Sigh.
|
2008-08-13 17:48:04 -07:00 |
|
Andreas Gal
|
f1d87d6234
|
Reshuffle code lines in the side-exit return path (do asserts closer to the GlobalFrame writeback.)
|
2008-08-13 17:47:18 -07:00 |
|
David Anderson
|
4d25c18771
|
Merge.
|
2008-08-13 17:46:58 -07:00 |
|
David Anderson
|
87d9c2089d
|
Merge.
|
2008-08-13 17:45:50 -07:00 |
|
Brendan Eich
|
fc782418ee
|
Set rval_ins with initializing=true because nothing will get the callee, so the tracker won't have tracked it yet if it's in virgin stack.
|
2008-08-13 17:45:49 -07:00 |
|
David Anderson
|
3652f7c126
|
Fix from brendan for propertyIsEnumerable having an inconsistent return type.
|
2008-08-13 17:44:26 -07:00 |
|
Brendan Eich
|
880030b373
|
Forgot to string-tag before going from atom to jsid in two builtins.
|
2008-08-13 17:20:16 -07:00 |
|
Andreas Gal
|
eac5c3ed47
|
Merge. Lame.
|
2008-08-13 17:13:53 -07:00 |
|
Andreas Gal
|
201341cfc5
|
Add nestedExit to InterpState and comment its fields.
|
2008-08-13 17:12:55 -07:00 |
|
David Anderson
|
a9922db939
|
Merge.
|
2008-08-13 17:12:08 -07:00 |
|
David Anderson
|
4c7aaa248b
|
Merge.
|
2008-08-13 17:11:22 -07:00 |
|
Brendan Eich
|
ca1e2a283a
|
Fix prototype hit case in prop to advance obj and obj_ins up the proto chain.
|
2008-08-13 17:10:18 -07:00 |
|
David Anderson
|
fe66e966ca
|
Fixed from brendan for counting disparity between nativeStackSlots and FORALL_SLOTS_IN_PENDING_FRAMES.
Added debug code to catch future disparities.
|
2008-08-13 17:09:16 -07:00 |
|
Andreas Gal
|
ee55743358
|
Don't print LeaveFrame debug info when falling out of the global frame.
|
2008-08-13 16:57:14 -07:00 |
|
Andreas Gal
|
9c95a20382
|
Merge.
|
2008-08-13 16:43:46 -07:00 |
|
Andreas Gal
|
e702dc5ac4
|
When re-importing register values after a tree call, make sure to use the inner tree's nativeStackBase, since we also use the inner tree's sp.
|
2008-08-13 16:29:59 -07:00 |
|
Brendan Eich
|
7fc14c40cf
|
Fix bogus varval assert.
|
2008-08-13 16:14:22 -07:00 |
|
Andreas Gal
|
27c128f706
|
Merge.
|
2008-08-13 15:50:40 -07:00 |
|
Andreas Gal
|
e68f9ee859
|
Read back registers used by inner tree relative to inner_sp (the adjusted sp value). Print frames we enter into and return to in Enter/LeaveFrame.
|
2008-08-13 15:50:11 -07:00 |
|
Brendan Eich
|
3d21588b2c
|
Major and winning overhaul to for-in codegen (mad props to Andreas for advice).
|
2008-08-13 14:02:35 -07:00 |
|
Andreas Gal
|
892137794b
|
Don't call inner trees if they use global slots since we don't support those in inner trees yet.
|
2008-08-13 14:00:37 -07:00 |
|
Andreas Gal
|
1d809d7adf
|
Merge.
|
2008-08-13 13:52:21 -07:00 |
|
Andreas Gal
|
fa09943222
|
Flexible call stack allocation with proper guarding for call stack overflows.
|
2008-08-13 13:51:59 -07:00 |
|
David Anderson
|
ff9bb9ea9d
|
Fixed ifop predicting NaNs as true when they should be false.
|
2008-08-13 12:25:50 -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
|
fa3085ca3d
|
Merge. Nothing to see here. Move along.
|
2008-08-13 03:55:24 -07:00 |
|
Andreas Gal
|
5d7914a698
|
Blacklist a trace if we hit a global shape mismatch. This makes us suck less on date-format-tofte until we find a way to fix the property cache misses.
|
2008-08-13 03:54:54 -07:00 |
|
Andreas Gal
|
2a60d7a27b
|
Only trash the tree, not the entire cash, on global shape mismatch.
|
2008-08-13 03:50:53 -07:00 |
|
Brendan Eich
|
ed5f8343a2
|
Fix deep for-in loop bug (450334).
|
2008-08-13 00:41:13 -07:00 |
|
Brendan Eich
|
9226769821
|
Add missingArgTest2 to cover the nativeStackOffset bug fixed recently.
|
2008-08-12 23:58:50 -07:00 |
|
Andreas Gal
|
335fb1edd8
|
Merge.
|
2008-08-12 23:31:12 -07:00 |
|
Andreas Gal
|
91e81a361d
|
Don't cache loads in import into the nativeFrameTracker, since when coming back from a nested tree we re-load the frame state into registers using import() based on the called tree's state, which pushes loads into the nativeFrameTracker that are relative to the inner tree's call depth. Only cache on writes now, which should be always safe.
|
2008-08-12 23:30:49 -07:00 |
|
Brendan Eich
|
17a4dd5c46
|
Remove bogus assertion.
|
2008-08-12 23:30:38 -07:00 |
|
Andreas Gal
|
8af146d25b
|
Merge.
|
2008-08-12 23:25:40 -07:00 |
|
Andreas Gal
|
a271a0ee0e
|
When re-importing registers after a tree call, make sure to use the inner trees calldepth at its side exit, not the call depths of the calling tree.
|
2008-08-12 23:25:17 -07:00 |
|
Brendan Eich
|
452bea0c69
|
Fix missing argument stack offset computation (in both places: FORALL_FRAME_SLOTS and nativeStackOffset). Clear missing args in nativeFrameTracker.
|
2008-08-12 23:21:52 -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
|
4ebf8a417d
|
Merge.
|
2008-08-12 17:40:56 -07:00 |
|
Andreas Gal
|
95c7647b28
|
Add constvalp and isconstp to LIR instructions (nanojit).
|
2008-08-12 17:37:38 -07:00 |
|
Brendan Eich
|
48181da4e7
|
Use aobj consistently in test_property_cache (450317).
|
2008-08-12 17:21:32 -07:00 |
|
Andreas Gal
|
9ea4e8a477
|
Merge.
|
2008-08-12 16:57:55 -07:00 |
|
Andreas Gal
|
d56662f293
|
Enumerate missing argument slots on the caller's stack and initialize them to undefined (450304).
|
2008-08-12 16:51:55 -07:00 |
|
Brendan Eich
|
a4111eea56
|
Fix shapelessUnknownCalleeHelper.
|
2008-08-12 16:36:32 -07:00 |
|
Brendan Eich
|
0ceb399b55
|
Merge.
|
2008-08-12 16:35:11 -07:00 |
|
David Anderson
|
a8821cdfc6
|
Added NaN test case that fails when jitting; currently looking into why.
|
2008-08-12 15:45:06 -07:00 |
|
Brendan Eich
|
25fc093756
|
Fix annoying warnings, finally.
|
2008-08-12 14:50:42 -07:00 |
|
Andreas Gal
|
4b6c770288
|
Merge.
|
2008-08-12 14:29:09 -07:00 |
|
Andreas Gal
|
1819586877
|
js_obj_hasOwnProperty is supposed to return a boolean but was incorrectly generating code to return a number, resulting on a failure in the boolean comparison due to an unexpected i2f (450304).
|
2008-08-12 14:28:15 -07:00 |
|
David Anderson
|
f4b6e09a98
|
Merge.
|
2008-08-12 11:53:24 -07:00 |
|
David Anderson
|
c340cb93c0
|
Only use fastcall on x86.
|
2008-08-12 11:46:57 -07:00 |
|
Brendan Eich
|
64fa74acf5
|
More guard argument formatting.
|
2008-08-12 11:36:52 -07:00 |
|
David Anderson
|
5e75ec729a
|
Merge.
|
2008-08-12 10:47:50 -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 |
|
shaver@mozilla.org
|
3e4452be3c
|
fix !JS_TRACER build
|
2008-08-12 13:16:47 -04:00 |
|
shaver@mozilla.org
|
3f2af7e42d
|
add way to explicitly disable tracer for easier testing
|
2008-08-12 13:16:30 -04:00 |
|
Brendan Eich
|
827b341985
|
Consolidate common name (global slot) addressing code.
|
2008-08-12 09:42:29 -07:00 |
|
Brendan Eich
|
26c7507913
|
Put trailing args on their own lines when they otherwise would seem to associate with a nested call in a previous arg position.
|
2008-08-12 09:27:54 -07:00 |
|
Brendan Eich
|
74c6d3ffe3
|
Merge, plus ((void)0) parens.
|
2008-08-12 09:23:38 -07:00 |
|
Brendan Eich
|
fd08308ba0
|
Fix goto over init whinage.
|
2008-08-12 09:18:19 -07:00 |
|
shaver@mozilla.org
|
41a6158c57
|
fix build for !JS_TRACER, both threaded and switch interps
|
2008-08-12 12:09:59 -04:00 |
|
shaver@mozilla.org
|
9d4a33a8c6
|
guard all of jstracer.h against non-tracer builds
|
2008-08-12 11:36:29 -04:00 |
|
shaver@mozilla.org
|
1813fb2fa7
|
NAMEINC, INCNAME, NAMEDEC, DECNAME
|
2008-08-12 11:33:40 -04:00 |
|
Andreas Gal
|
b94f5433e5
|
Merge.
|
2008-08-12 03:40:16 -07:00 |
|
Andreas Gal
|
b4f7639e6e
|
Don't read type from typemap if we already have it in a local variable.
|
2008-08-12 02:00:05 -07:00 |
|
Andreas Gal
|
7e95e972d8
|
Don't re-record traces over and over in case of excessive type mismatches. Instead, blacklist the fragment and slowly back away from recording it.
|
2008-08-12 01:31:28 -07:00 |
|
Brendan Eich
|
8d77aad49c
|
JSOP_FORNAME.
|
2008-08-12 01:06:02 -07:00 |
|
Brendan Eich
|
d2e6e9e641
|
Factor forInOp from JSOP_FORLOCAL, use it from JSOP_FORARG's recorder too; tighten up JSOP_SETNAME.
|
2008-08-12 00:34:43 -07:00 |
|