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 |
|
Andreas Gal
|
e04746d2c0
|
Make fast inc/dec traceable.
|
2008-06-18 17:40:32 -07:00 |
|
Andreas Gal
|
1a0333027b
|
Added new primitive guard_can_do_fast_inc_dec and report reason for trace aborts.
|
2008-06-18 16:23:24 -07:00 |
|
Andreas Gal
|
ee79053ae8
|
More work on the recorder.
|
2008-06-17 20:24:07 -07:00 |
|
Andreas Gal
|
737e387076
|
Fixes to the trace recorder.
|
2008-06-17 13:30:59 -07:00 |
|
Andreas Gal
|
40be837c3c
|
Merge.
|
2008-06-15 17:49:28 -07:00 |
|
Andreas Gal
|
6fedd2b687
|
Call into the recorder for each primitive. Don't use vp in primitives, use &v instead.
|
2008-06-15 16:31:28 -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
|
ab59446c58
|
Initialize ok to true if we didn't side-enter via state.
|
2008-06-11 18:05:58 -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 |
|
Andreas Gal
|
2a34b19f23
|
js_CallRecorder has no return value any more.
|
2008-06-11 17:36:35 -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
|
c58ac03421
|
Fix used before set ok bugs, fiddled ifdef style a bit.
|
2008-06-11 13:55:34 -07:00 |
|
Brendan Eich
|
6be978e069
|
Expand tabs.
|
2008-06-11 13:09:25 -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
|
73698e5e72
|
Pass JSContext* to all primitives (needed by the recorder.)
|
2008-06-11 11:46:47 -07:00 |
|
Andreas Gal
|
fef28e9f56
|
Allow recorder to abort recording.
|
2008-06-11 11:29:35 -07:00 |
|
Andreas Gal
|
3e75d9e04e
|
Save and restore ok when switching interpreters.
|
2008-06-11 09:01:29 -07:00 |
|
Brendan Eich
|
e90aa46c27
|
Init ok before goto exit, plus indentation style policing.
|
2008-06-11 03:41:50 -07:00 |
|
Andreas Gal
|
76f6917ece
|
Cleanup and fixed beneign bug.
|
2008-06-11 01:32:02 -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 |
|
Andreas Gal
|
9bb9f4893d
|
Connect tracer with the interpreter. Errors and exits are handled in the main interpreter.
|
2008-06-11 00:21:51 -07:00 |
|
Andreas Gal
|
8dee65f176
|
Merged with Brendan's changes.
|
2008-06-10 22:30:46 -07:00 |
|
Andreas Gal
|
c79c0bfeef
|
Added code to switch to the tracer and back. Incomplete and for review only.
|
2008-06-10 22:20:05 -07:00 |
|
Brendan Eich
|
f8e68441c2
|
No need for eval call.
|
2008-06-10 21:46:03 -07:00 |
|
Brendan Eich
|
45358518de
|
Minimize JSInterpreterState, fix warning.
|
2008-06-10 21:40:47 -07:00 |
|
Brendan Eich
|
57eff0cc24
|
Style nits, plus no need for rt in JSInterpreterState.
|
2008-06-10 19:40:09 -07:00 |
|
Andreas Gal
|
b5238a9929
|
Create a side-entry path into the interpreter that bypasses the initialization code and allows switching back and forth between two interpreters (i.e. tracing and non-tracing).
|
2008-06-10 17:45:38 -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 |
|
Andreas Gal
|
aa4de72f2b
|
Disable JSOP_HEADER counting.
|
2008-06-10 14:17:05 -07:00 |
|
Andreas Gal
|
5f7b163827
|
Use higher optimization settings for jsinterp.cpp to ensure inlining.
|
2008-06-10 13:59:43 -07:00 |
|
Andreas Gal
|
b54446d182
|
Fixed typo that caused sunspider to fail.
|
2008-06-09 18:30:08 -07:00 |
|
Andreas Gal
|
1710081f69
|
Merge.
|
2008-06-09 14:53:21 -07:00 |
|
Andreas Gal
|
82d514b492
|
Merge.
|
2008-06-09 14:48:23 -07:00 |
|
Andreas Gal
|
0077c6a422
|
Backed out value_to_iter inline method extraction.
|
2008-06-09 14:47:14 -07:00 |
|
Andreas Gal
|
76e4f25384
|
Merge.
|
2008-06-09 14:46:26 -07:00 |
|
Andreas Gal
|
70e23d6dc1
|
Backed out do_dorinloop inline method extraction.
|
2008-06-09 14:45:32 -07:00 |
|
Andreas Gal
|
4c62143960
|
Backed out extraction of code from the interpreter loop as inline method.
|
2008-06-09 14:33:40 -07:00 |
|
Brendan Eich
|
a6b3eeb630
|
Merge.
|
2008-06-08 17:05:46 -07:00 |
|
Brendan Eich
|
ff8942e9cf
|
Fix firefox, etc., (top-level mozilla) builds.
|
2008-06-06 15:12:48 -07:00 |
|
Andreas Gal
|
bc09b3b09c
|
Added tag tested for changeset d1a7596d7887
|
2008-06-06 15:11:50 -07:00 |
|
Andreas Gal
|
fd852a83dd
|
Transform do_dorinloop goto/fall through hack into a proper inline method.
|
2008-06-06 15:11:08 -07:00 |
|
Andreas Gal
|
8d20524c9b
|
Convert value_to_iter goto/fall through hack into a proper inlined method.
|
2008-06-06 13:32:04 -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 |
|