Commit Graph

15227 Commits

Author SHA1 Message Date
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
Brendan Eich
2e6db5a253 Fix decompiler (hack, really) to cope with misplaced JSOP_HEADER in update part of for(;;) loop. 2008-06-03 23:50:22 -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
02b2fde780 Backed out previous attempt to find a place to stash the recorder script. 2008-06-03 17:27:31 -07:00
Andreas Gal
bfecd01b75 Backed out changeset 3029f4d57bd2 2008-06-03 17:24:02 -07:00
Andreas Gal
3094b79c6b Switch to a uniform style for jstracer.cpp. 2008-06-03 17:15:58 -07:00
Andreas Gal
c93d0c8e08 Add location in the context where we can hold the recorder script and make sure the GC traces it. 2008-06-03 17:14:54 -07:00
Andreas Gal
8b6c4d02c6 Remove InitTacer. Pointless for JSRuntime. 2008-06-03 17:04:42 -07:00
Brendan Eich
a0363085ef Merge, simplify names, and police style. 2008-06-03 16:21:31 -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
44ed0935e5 Fix ReconstructPCStack oplen code, extend js_OpLength to avoid cs recalculation where possible. 2008-06-03 13:51:30 -07:00
Andreas Gal
d78d723aeb Compiler fixes for CAS patch. 2008-06-03 13:29:10 -07:00
Andreas Gal
3bc4b753d4 Merge. 2008-06-03 13:22:04 -07:00
Brendan Eich
b2ee0f4849 Fix so it compiles, also avoid else after return. 2008-06-03 12:37:20 -07:00
Andreas Gal
70cdf27b42 Make js_CompareAndSwap visible outside jslock.cpp. 2008-06-03 10:06:28 -07:00
Andreas Gal
53060c32ce Move all inlines that do not represent primitives out of jsinterpinlines.h since we don't have to overwrite them in jstracerinlines.h. They live in jsinterp.cpp now. Added missing error handling for prim_ddiv and prim_dmod. Make sure prim_ddiv and prim_dmod do not call other primitives. Fixed bug in dmod (-1 should be n, but since all invocations had n=-1 this was a non-issue). 2008-06-02 23:26:17 -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
21c493d829 Use correct idempotent include guard macro name. 2008-06-02 18:05:18 -07:00
Brendan Eich
3db9424289 Merge and undo js_AllocateLoopTableSlot reparam. 2008-06-02 17:28:39 -07:00