Andreas Gal
b6773c0340
Move obj_is_xml into interp since its not a primitive.
2008-06-28 10:12:24 -07:00
Andreas Gal
44e0963c4e
Merge.
2008-06-28 09:58:48 -07:00
Andreas Gal
1f37ae3e62
Small cleanups and licensing blurb housekeeping.
2008-06-28 09:58:15 -07:00
shaver@mozilla.org
cc9079bc60
More work on tracing EQUALITY_OP. Still need to synthesize LIR_ne before it
...
traces correctly. (This loses the length-test equality-check short-circuit
for strings, until such time as we have a builtin for EqualStrings as well:
regresses js1_5/String/regress-322772.)
2008-06-28 12:46:21 -04:00
shaver@mozilla.org
4fc71515e0
Add guards for XML objects, and some tracer bits to accommodate them.
2008-06-27 23:58:06 -04:00
Andreas Gal
5d9de143af
More concise conversion from object to boolean.
2008-06-27 07:48:18 -07:00
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
3492763c96
Throw out a bunch of primitives (guards) that we are no longer interested in.
2008-06-27 06:18:12 -07: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
3197b76462
Mork work on attaching nanojit to our primitives. Traces have now their own box type (Box), which is an opaque 64-bit value. Its never supposed to appear in the trace since we will optimize away all boxing operations.
2008-06-21 22:28:41 -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
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
74c80d5597
Kill trailing spaces.
2008-06-11 13:07:24 -07:00
Andreas Gal
73698e5e72
Pass JSContext* to all primitives (needed by the recorder.)
2008-06-11 11:46:47 -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
c79c0bfeef
Added code to switch to the tracer and back. Incomplete and for review only.
2008-06-10 22:20:05 -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
9684e2070f
Introduced a JavaScript recording script that is loaded dynamically.
2008-06-03 21:01:23 -07:00
Brendan Eich
b2ee0f4849
Fix so it compiles, also avoid else after return.
2008-06-03 12:37:20 -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
ea827846a5
Avoid overlong lines per modeline comments.
2008-06-02 17:16:14 -07:00
Andreas Gal
a6ded872bf
Steer macro naming in jsinterinlines.h using a macro. This allows us to prefix all primitives with some prefix (i.e. interp_) when we compile the tracer and replace them with new primitives that invoke the interpreter version first, and then do some tracer specific action.
2008-05-29 17:14:42 -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