Andreas Gal
|
0c1996ce25
|
Don't setup debugging data structures when not debugging.
|
2008-06-22 23:59:41 -07:00 |
|
Brendan Eich
|
d5d3c6fb26
|
Random style nit-picking.
|
2008-06-22 23:42:54 -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
|
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 |
|
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
|
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 |
|
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
|
74c80d5597
|
Kill trailing spaces.
|
2008-06-11 13:07:24 -07:00 |
|
Andreas Gal
|
fef28e9f56
|
Allow recorder to abort recording.
|
2008-06-11 11:29:35 -07:00 |
|
Andreas Gal
|
50bf94c527
|
Notify recorder when tracing starts/stops. Restore code accidently lost during last merge.
|
2008-06-11 01:22:39 -07:00 |
|
Brendan Eich
|
45358518de
|
Minimize JSInterpreterState, fix warning.
|
2008-06-10 21:40:47 -07:00 |
|
Andreas Gal
|
a1bf0819b2
|
Removed JSOP_HEADER code. Its too costly. This patch restore essentially the same performance as unmodified SM.
|
2008-06-10 14:44:51 -07:00 |
|
Brendan Eich
|
04b1ac5592
|
Merge.
|
2008-06-04 00:09:57 -07:00 |
|
Brendan Eich
|
894dd03e2a
|
First stage of loop table work; bitmap free space management and GC hook-up still to come.
|
2008-06-03 23:52:28 -07:00 |
|
Andreas Gal
|
9684e2070f
|
Introduced a JavaScript recording script that is loaded dynamically.
|
2008-06-03 21:01:23 -07:00 |
|
Andreas Gal
|
3094b79c6b
|
Switch to a uniform style for jstracer.cpp.
|
2008-06-03 17:15:58 -07:00 |
|
Andreas Gal
|
8b6c4d02c6
|
Remove InitTacer. Pointless for JSRuntime.
|
2008-06-03 17:04:42 -07:00 |
|
Brendan Eich
|
9c2b039d6f
|
JSOP_HEADER takes a byte index of loop header counting from script->loopBase, and related changes.
|
2008-06-03 14:48:47 -07:00 |
|
Brendan Eich
|
946fa41d8c
|
Fiddle loop table slot interface and impl in hope of freeing slots over time.
|
2008-06-02 18:06:33 -07:00 |
|
Brendan Eich
|
01514c4b16
|
No JS_TRACER ifdefs, keep line len < 80, reparameterize jstracer.cpp functions, js_OpLength helper.
|
2008-06-02 17:19:41 -07:00 |
|
Brendan Eich
|
5b116ae998
|
Merge, style nits, no locking for tracing.
|
2008-05-31 15:29:54 -07:00 |
|
Brendan Eich
|
ef8a767739
|
Left brace style.
|
2008-05-31 10:17:40 -07:00 |
|
Andreas Gal
|
e461a72736
|
The table is now per-thread in a multi-threaded environment, and per-runtime otherwise. During code generation we merely allocate a loop table slot to each loop. Each thread will enlarge the table as needed in JSOP_HEADER.
|
2008-05-30 18:58:43 -07:00 |
|
Andreas Gal
|
de3107d2ee
|
Add a per-runtime loop attribute table that associates a jsval attribute with every loop in the code. The jsval is used initially as a counter until a certain threshold is reached, at which point the loop is traced and compiled and the resulting native code object is stored in the jsval to be executed for future encounters of the loop.
|
2008-05-30 10:11:56 -07:00 |
|
Brendan Eich
|
8bfb8bfef7
|
Split trace-supporting inlines, add ifdefs/macros for deriving js_TracingInterpret in jstracer.cpp.
|
2008-05-28 19:07:25 -07:00 |
|