Andreas Gal
|
e59076860a
|
Instead of guarding on null -> boolean conversion just emit a null compare and use the boolean result.
|
2008-06-27 06:53:10 -07:00 |
|
Andreas Gal
|
0c5757a21f
|
Add a new option -j to enable the JIT. The default is off so we can easily benchmark the overhead without the tracer.
|
2008-06-27 00:22:53 -08:00 |
|
Andreas Gal
|
a21ca6a788
|
Prepare LIR_ov to be used as soon Ed adds it and add a few comments that explain how overflow is handled.
|
2008-06-26 23:34:50 -08:00 |
|
Andreas Gal
|
49fe7a95eb
|
More cleanup and code move into TraceRecorder and prepare for LIR_ov.
|
2008-06-26 23:22:16 -08:00 |
|
Andreas Gal
|
f357ff14f0
|
Move the recorder functionality into TraceRecorder to unclutter trace inlines.
|
2008-06-26 21:58:57 -08:00 |
|
Andreas Gal
|
0c98250a90
|
Move set/get into recorder and introduce init.
|
2008-06-26 21:41:10 -08:00 |
|
Andreas Gal
|
431b7b810a
|
Moved loading context slots into the recorder (more to follow).
|
2008-06-26 21:33:33 -08:00 |
|
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
|
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
|
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
|
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 |
|
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
|
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
|
b484f790e4
|
Start hooking the recorder into the tracer.
|
2008-06-11 12:12:29 -07:00 |
|
Andreas Gal
|
fef28e9f56
|
Allow recorder to abort recording.
|
2008-06-11 11:29:35 -07:00 |
|
Andreas Gal
|
17d0d41459
|
Added branch monitoring using a single unified branch frequency counter.
|
2008-06-10 16:49:05 -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
|
be39054e45
|
Store the recorder script in JSTraceMonitor and make sure its traced by the GC. Also clean up the tracing of JSTraceMonitor.
|
2008-06-03 17:35:30 -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
|
3db9424289
|
Merge and undo js_AllocateLoopTableSlot reparam.
|
2008-06-02 17:28:39 -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 |
|
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 |
|