shaver@mozilla.org
d93ba06080
guard on inlined branch in TRY_BRANCH_AFTER_COND
2008-06-29 10:36:31 -04:00
shaver@mozilla.org
d571eaac32
Merge with mozilla-central as of c5dc9d84d476, and restore obj-to-boolean fixes
...
from 2b107c27dedf (accidentally backed out during an earlier merge). 22 test
suite failures for -L lc2 lc3 spidermonkey-n slow-n, probably needs some guard
work in TRY_BRANCH_AFTER_COND.
2008-06-29 10:01:59 -04:00
Andreas Gal
ef71223de2
Remember JSContext instead of trying to keep track of frame pointer.
2008-06-28 18:47:12 -07:00
Andreas Gal
628a1f6985
Cleanup trace abort/end code.
2008-06-28 18:19:21 -07:00
Andreas Gal
ba35b66f90
Make internal form of nativeFrameSize private.
2008-06-28 17:22:08 -07:00
Andreas Gal
91c85e9cb4
Merge.
2008-06-28 17:14:42 -07:00
Andreas Gal
6df975a5b5
Rewritten frame management. Use cx->fp->regs chain instead of direct passing of those structures.
2008-06-28 17:14:06 -07:00
shaver@mozilla.org
f81f153710
fix typo in DoIncDec leading to script termination
2008-06-28 19:28:56 -04:00
shaver@mozilla.org
fac133d1e5
Implement icmp_ne (in terms of LIR_ugt(i, 0)!) and make JSOP_NE traceable.
2008-06-28 17:47:33 -04:00
shaver@mozilla.org
8cb49dede9
avoid trace-troubling temporaries via cast gymnastics
2008-06-28 14:48:02 -04:00
Andreas Gal
552425ee07
Hook up pc and sp to the tracer in order to generate proper PC/SP adjustment code.
2008-06-28 11:00:18 -07:00
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
293db3763e
abort tracing if we see an XML object in an equality op
2008-06-28 00:14: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
e5d4f398ef
Merge.
2008-06-27 18:09:33 -07:00
Andreas Gal
40f1a90a78
Move recorder initialization into TraceRecorder and encapsulate its state.
2008-06-27 18:06:50 -07:00
Andreas Gal
2c370239e5
Add a way to calculate the current size of the native frame.
2008-06-27 16:24:17 -07:00
shaver@mozilla.org
06500a1a50
merge
2008-06-27 12:01:28 -04:00
shaver@mozilla.org
af19dd5627
rename ENABLE_TRACER to TRACING_ENABLED and explicitly parameterize on cx
2008-06-27 11:41:59 -04:00
Andreas Gal
5d9de143af
More concise conversion from object to boolean.
2008-06-27 07:48:18 -07:00
Andreas Gal
afd5f3b1e3
Clarified argument names in guard code and explain better why we guard for overflow the way we do.
2008-06-27 07:28:10 -07:00
Andreas Gal
a13289ec80
Added missing > which has been bugging me for the past month every time I saw it.
2008-06-27 07:21:37 -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
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
8c67877472
Slight cleanup of the guard code emission in the trace inlines.
2008-06-26 22:05:44 -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
2dca610f28
Make sure nativeOffset uses 64-bit slots on the native stack.
2008-06-26 21:25:30 -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
2fddbfdceb
Removed debug printfs from tracker.
2008-06-26 19:41:58 -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
d3e1a067e5
Merge.
2008-06-24 15:58:21 -07:00
Andreas Gal
4678be95aa
Fix a bug in tracing can_do_fast_inc_dec (wasn't tracking a copy and traced incorrect code). Merge with TT tip.
2008-06-24 15:57:33 -07:00
dvander@traceknight.local
76d930e192
Fixed malloc/delete mismatch (Valgrind was complaining)
2008-06-23 18:00:03 -07:00
Andreas Gal
d8e0d5edec
Removed debug code.
2008-06-23 17:17:48 -07:00
Andreas Gal
5e55f5e1f4
Merge.
2008-06-23 16:52:37 -07:00
Andreas Gal
5b30ba137c
Merge.
2008-06-23 16:51:28 -07:00
Andreas Gal
40c5417190
Added example code for tracing.
2008-06-23 16:50:44 -07:00
Andreas Gal
0c1996ce25
Don't setup debugging data structures when not debugging.
2008-06-22 23:59:41 -07:00