Andreas Gal
87396e1870
Rework memory management, don't leak memory in the filter pipeline.
2008-06-30 18:08:32 -07:00
Andreas Gal
19b4bcdc69
Save the side exit state at entry in to the opcode (since we want to restart ops) and enable store filter.
2008-06-30 17:12:52 -07:00
Andreas Gal
e6b28ce4f8
Sync with TT-tip.
2008-06-30 15:33:41 -07:00
Andreas Gal
f8a6a789d0
Cleanup memory management. Use new char[] inside our overloaded new operator that clears out memory.
2008-06-30 12:00:31 -07:00
Andreas Gal
7511e45275
Use #ifdef DEBUG instead of VERBOSE.
2008-06-30 11:44:47 -07:00
Andreas Gal
806d0de678
Must use (&gc) new otherwise memory doesn't get cleared (found by danderson).
2008-06-30 11:39:00 -07:00
Andreas Gal
dbd9bb7b09
Merge.
2008-06-30 09:36:38 -07:00
Andreas Gal
5d1d997c9d
Housekeeping (add comments, removed some dead code.)
2008-06-30 09:36:10 -07:00
shaver@mozilla.org
9cf9a554b6
synthesize LIR_ne using LIR_eq instead of LIR_ugt, per edwsmith's wisdom
2008-06-30 11:18:43 -04:00
Andreas Gal
d8d25140f9
Mockup of trace execution. Speedup is 10x for a tight loop. Keep in mind that this is a hack and the trace code is not optimized yet.
2008-06-29 23:02:22 -07:00
Andreas Gal
b1e24b8c98
Execute trace code. Boxing back the side exit state is not handled yet.
2008-06-29 20:56:06 -07:00
Andreas Gal
e267cb120c
Fix native frame addressing (reported by vlad.)
2008-06-29 17:17:39 -07:00
Andreas Gal
eff9ce9111
Disable fusing of conditional check and branch when recording.
2008-06-29 16:57:27 -07:00
Andreas Gal
b3060293c7
When a conditional branch instructions terminates the trace, we have to make sure its restartable, so put the conditional value it was deciding on back onto the stack by incrementing sp before jumping back to the outer interpreter.
2008-06-29 15:21:50 -07:00
Andreas Gal
253b2572b2
Initialize jump table when side-entering the interpreter. Keep track of cx and sp directly in the recorder instead of going through the tracker.
2008-06-29 13:53:40 -07:00
Andreas Gal
28d2ed62d9
Guard inside the clause, not seperately.
2008-06-29 12:21:16 -07:00
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
4cc6b3292a
Merge.
2008-06-28 18:51:59 -07: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
shaver@mozilla.org
47f657d0a4
Fix prim_object_as_boolean (was reversed in meaning in both interp and trace
...
cases).
2008-06-28 21:12:55 -04: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
Mats Palmgren
b70c9931b1
Don't use the surface if there was an error creating it. b=441995 r+sr=roc
2008-06-28 23:45:53 +02: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
Robert Kaiser
8cddf8247e
bug 442121 - Don't call into mailnews from toolkit-makefiles.sh, r=ted
2008-06-28 18:49:06 +02: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
Josh Aas
06b4d2563f
Re-landing. Decomtaminate native menu system. Add new native menu API. Lots of cleanup for the native menu system code. Memory usage and speed improvements. b=433952 r=bent r=kreeger sr=roc
2008-06-28 03:55:30 -04:00
Alexander Surkov
6704d53385
bug 441888 - ARIA checked menu items are not included in the total list of menu items, r=MarcoZ
2008-06-28 08:16:34 +02: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
Dave Camp
f619e9fd41
Bug 422264: retrieving iterator of applicationCache throws NS_ERROR_DOM_INVALID_STATE_ERR. r+sr=jst
2008-06-27 17:22:16 -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