Jeff Walden
61aee1746d
Bug 473096 - js1_5/Regress/regress-366601.js - Internal Error: script too large. r=brendan
2009-04-10 17:41:13 -07:00
Blake Kaplan
1c5e6afeac
Bug 487684 - Store the last trace PC to pass into the decompiler. r=igor
2009-04-10 14:06:28 -07:00
Brendan Eich
26a5b7f3fc
Bug 487563 - Crash [@ js_Interpret] (r=mrbkap).
2009-04-09 18:44:54 -07:00
Brendan Eich
e29805bd5a
Bug 487561 - More cleanup from bug 452498 and bug 487271 patches (r=mrbkap/igor, and this fixes bug 487570).
2009-04-09 15:05:12 -07:00
Andreas Gal
4f7fe5afa4
Bug 485959 - TM: Recording continues across loop edge. r=jorendorff
2009-04-07 00:45:49 -07:00
Andreas Gal
ca62b9e9e3
backout Bug 485959, disable-jit bustage.
2009-04-07 03:34:06 -04:00
Andreas Gal
fd3fd2676a
Bug 485959 - TM: Recording continues across loop edge. r=jorendorff
2009-04-07 03:25:29 -04:00
Jason Orendorff
32b58a38be
Thread-safety comment for bug 479198. r=brendan.
2009-04-06 16:43:45 -05:00
Jason Orendorff
81f9c93dec
Bug 479198 - "Deep" property cache entries not invalidated when shadowed (TIBCO General Interface regression). r=brendan.
2009-04-06 13:24:20 -05:00
Brendan Eich
962b187fe5
upvar2, aka the big one take 2 (452598, r=mrbkap).
2009-04-05 21:17:22 -07:00
Andreas Gal
706120c0fb
Backed out changeset 972c44aa9d1f (bug 452598).
2009-04-04 10:14:52 -07:00
Brendan Eich
5f4d9ff474
upvar2, aka the big one (452598, r=mrbkap).
2009-04-04 10:05:49 +01:00
Igor Bukanov
09ffabb7a1
bug 485164 - fixing sharp semantic regressions. r=mrbkap
2009-04-03 09:53:02 +02:00
Jason Orendorff
cd0fe70742
Bug 483179 - TM: JIT embeds stale closure in trace for JSOP_DEFLOCALFUN. r=mrbkap
2009-04-02 14:08:48 -07:00
Jim Blandy
b34fbbe457
Bug 482743: Compute opcode stack usage correctly. r=igor
2009-04-01 11:02:52 -07:00
Jim Blandy
02252a653d
Bug 482743: Fix up bytecode execution tracing. Allow tracing to file. r=igor
...
js_TraceOpcode: Remember the last bytecode we traced explicitly,
instead of subtracting 'len' from regs.pc, which isn't reliable.
Decline to trace values in script prologues (between 'code' and
'main'). Decline to walk off the bottom of the stack when the 'last
bytecode' is misleading. Flush the stream after each bytecode.
Use the TRACE_OPCODE macro in both threaded and non-threaded
interpreters. Take care to make threaded and non-threaded
interpreters produce the same traces.
In the shell's 'tracing' function, use JS_ValueToBoolean to recognize
all sorts of booleans, and treat a string as the name of a file to
write the trace to.
2009-04-01 08:50:57 -07:00
Andreas Gal
38b604f834
Bug 485022 - TM: Assertion failure: JS_ON_TRACE(cx), at ../jsarray.cpp. r=mrbkap
2009-03-30 16:43:23 -07:00
Igor Bukanov
a7851480ad
bug 469492 - calling the call hook after fully initializing the freame. r=brendan
2009-03-30 15:29:17 +02:00
Robert Sayre
150b7d8a28
Merge tracemonkey to mozilla-central.
2009-03-24 13:49:05 -04:00
Igor Bukanov
a8094a7903
bug 437325 - JSThread is no longer shared between JSRuntime instances. r=brendan
2009-03-24 13:07:35 +01:00
Igor Bukanov
81a69a36df
bug 427196 - property cache fix. r=brendan
2009-03-23 21:05:25 +01:00
Robert Sayre
d5acda3fc3
Merge tracemonkey to mozilla-central.
2009-03-19 14:49:04 -04:00
Andreas Gal
47b45e60e7
Always check operation callback on backwards branches (484035, r=brendan).
2009-03-19 01:07:31 -07:00
Graydon Hoare
44c661ddb2
Bug 471373 - OOM in imacro trips assert, r=brendan.
2009-03-17 15:50:55 -07:00
Jim Blandy
debdb32ef3
Bug 480132: Clone lexical blocks only when needed. r=igor
...
Terminology:
A "script block" is an object of class Block allocated by the byte
compiler and associated with a script. Script blocks are never
modified, and may be used as a prototype for a "closure block":
A "closure block" is an object of class Block that holds variables
that have been closed over (although we actually leave the variables
on the stack until we leave their dynamic scope). A closure block is
a clone of a script block (its prototype is a script block).
Adjust the meanings of fp->blockChain and fp->scopeChain:
fp->blockChain is always the innermost script block in whose static
scope we're executing.
fp->scopeChain is the current scope chain, including 'call' objects
and closure blocks for those function calls and blocks in whose
static scope we are currently executing, and 'with' objects for with
statements; the chain is typically terminated by a global object.
However, as an optimization, the young end of the chain omits block
objects we have not yet needed to clone.
Closures need fully reified scope chains, so have js_GetScopeChain
reify any closure blocks missing from the young end of fp->scopeChain
by cloning script blocks as needed from fp->blockChain. Thus, if we
never actually close over a particular block, we never place a closure
block for it on fp->scopeChain.
Have JSOP_ENTERBLOCK and JSOP_LEAVEBLOCK always keep fp->blockChain
current. When JSOP_LEAVEBLOCK pops a block from fp->blockChain that
has been cloned on fp->scopeChain, pop fp->scopeChain as well.
Remove the JSFRAME_POP_BLOCKS flag, as it is no longer needed.
Ensure that the JIT won't have to create closure blocks or call
js_PutBlockObject; it can't handle those things yet. Note our current
script block when we begin recording. Abort recording if we leave
that block; we can't tell in advance whether it will need to be "put"
in future trace invocations. Leave trace if we call js_GetScopeChain
while in the static scope of lexical blocks. Remove JIT tests based
on JSFRAME_POP_BLOCKS.
Verify that generators capture the correct value for blockChain.
Add a constructor to JSAutoTempValueRooter for rooting JSObject
pointers.
2009-03-16 09:55:06 -07:00
Igor Bukanov
20e6be9c80
bug 362910 - js_GetMethod cleanup. r=brendan
2009-03-14 17:41:47 +01:00
Jim Blandy
74847db9cd
Back out 480132: orange on Linux ( http://tinderbox.mozilla.org/showlog.cgi?log=TraceMonkey/1237017748.1237029269.2403.gz&fulltext=1 )
2009-03-14 08:19:58 -07:00
Jim Blandy
bed3611385
Bug 480132: Clone lexical blocks only when needed. r=igor
...
Terminology:
A "script block" is an object of class Block allocated by the byte
compiler and associated with a script. Script blocks are never
modified, and may be used as a prototype for a "closure block":
A "closure block" is an object of class Block that holds variables
that have been closed over (although we actually leave the variables
on the stack until we leave their dynamic scope). A closure block is
a clone of a script block (its prototype is a script block).
Adjust the meanings of fp->blockChain and fp->scopeChain:
fp->blockChain is always the innermost script block in whose static
scope we're executing.
fp->scopeChain is the current scope chain, including 'call' objects
and closure blocks for those function calls and blocks in whose
static scope we are currently executing, and 'with' objects for with
statements; the chain is typically terminated by a global object.
However, as an optimization, the young end of the chain omits block
objects we have not yet needed to clone.
Closures need fully reified scope chains, so have js_GetScopeChain
reify any closure blocks missing from the young end of fp->scopeChain
by cloning script blocks as needed from fp->blockChain. Thus, if we
never actually close over a particular block, we never place a closure
block for it on fp->scopeChain.
Have JSOP_ENTERBLOCK and JSOP_LEAVEBLOCK always keep fp->blockChain
current. When JSOP_LEAVEBLOCK pops a block from fp->blockChain that
has been cloned on fp->scopeChain, pop fp->scopeChain as well.
Remove the JSFRAME_POP_BLOCKS flag, as it is no longer needed.
Ensure that the JIT won't have to create closure blocks or call
js_PutBlockObject; it can't handle those things yet. Note our current
script block when we begin recording. Abort recording if we leave
that block; we can't tell in advance whether it will need to be "put"
in future trace invocations. Leave trace if we call js_GetScopeChain
while in the static scope of lexical blocks. Remove JIT tests based
on JSFRAME_POP_BLOCKS.
Verify that generators capture the correct value for blockChain.
Add a constructor to JSAutoTempValueRooter for rooting JSObject
pointers.
2009-03-14 00:58:27 -07:00
Jim Blandy
d72dff994b
Back out 480132 fix; static analysis red
2009-03-14 00:57:54 -07:00
Jim Blandy
4778b96a85
Bug 480132: Clone lexical blocks only when needed. r=igor
...
Terminology:
A "script block" is an object of class Block allocated by the byte
compiler and associated with a script. Script blocks are never
modified, and may be used as a prototype for a "closure block":
A "closure block" is an object of class Block that holds variables
that have been closed over (although we actually leave the variables
on the stack until we leave their dynamic scope). A closure block is
a clone of a script block (its prototype is a script block).
Adjust the meanings of fp->blockChain and fp->scopeChain:
fp->blockChain is always the innermost script block in whose static
scope we're executing.
fp->scopeChain is the current scope chain, including 'call' objects
and closure blocks for those function calls and blocks in whose
static scope we are currently executing, and 'with' objects for with
statements; the chain is typically terminated by a global object.
However, as an optimization, the young end of the chain omits block
objects we have not yet needed to clone.
Closures need fully reified scope chains, so have js_GetScopeChain
reify any closure blocks missing from the young end of fp->scopeChain
by cloning script blocks as needed from fp->blockChain. Thus, if we
never actually close over a particular block, we never place a closure
block for it on fp->scopeChain.
Have JSOP_ENTERBLOCK and JSOP_LEAVEBLOCK always keep fp->blockChain
current. When JSOP_LEAVEBLOCK pops a block from fp->blockChain that
has been cloned on fp->scopeChain, pop fp->scopeChain as well.
Remove the JSFRAME_POP_BLOCKS flag, as it is no longer needed.
Ensure that the JIT won't have to create closure blocks or call
js_PutBlockObject; it can't handle those things yet. Note our current
script block when we begin recording. Abort recording if we leave
that block; we can't tell in advance whether it will need to be "put"
in future trace invocations. Abort recording if we call
js_GetScopeChain while in the static scope of lexical blocks. Remove
JIT tests based on JSFRAME_POP_BLOCKS.
Verify that generators capture the correct value for blockChain.
Add a constructor to JSAutoTempValueRooter for rooting JSObject
pointers.
2009-03-13 23:43:32 -07:00
Robert Sayre
8e061e35da
Backout patch for Bug 480132. Debug only nit fix busts static analysis compile.
2009-03-14 02:20:45 -04:00
Jim Blandy
40e8a7d560
Bug 480132. SpiderMonkey clones too many blocks into the heap. r=igor
2009-03-14 02:09:28 -04:00
Igor Bukanov
4b95050fe2
Backed out changeset 57de81309176 - bug 437325 - due to mochitest leaks on tinderbox
2009-03-13 18:36:46 +01:00
Igor Bukanov
3de011b9cd
bug 437325 - JSThread is no longer shared between runtimes. r=brendan
2009-03-13 12:36:21 +01:00
Igor Bukanov
75640ecce1
Backed out changeset 4159ebdfe31e to fix some typos in the patch
2009-03-13 12:21:04 +01:00
Igor Bukanov
8eeedd9647
bug 437325 - JSThread is not shared between runtimes. r=brendan
2009-03-13 12:10:34 +01:00
Igor Bukanov
3e7114aad2
bug 482038 - removal of JSRuntime.gcPoke checks from js_NewGCThing. r=brendan
2009-03-12 10:15:55 +01:00
Jim Blandy
875aee5e88
Bug 479258: Include "jsstdint.h" for <stdint.h> type use within SpiderMonkey. r=brendan
2009-03-18 11:38:16 -07:00
Brendan Eich
e37fd1b818
Bug 476447 - Array.prototype getter/setter does not work as usual (r=jorendorff).
2009-03-09 11:25:43 -07:00
Andreas Gal
52cc17234c
Check for non-stub getters/setters in SETNAME and SETPROP and invoke SetPropHit after setting the property in INITPROP (481989, r=brendan).
2009-03-07 01:25:37 -08:00
Brendan Eich
0332084955
Bug 481516 - Assertion failure: pobj_ == obj2, at ../jsinterp.cpp:4276 when getting a property that is cached but shadowed (r=jorendorff).
2009-03-06 16:34:19 -08:00
Robert Sayre
8f71e6c715
Merge m-c to tm
2009-03-04 14:52:53 -05:00
Brendan Eich
f32c3d8613
Bug 480657 - TM: Add an API to define traceable constructors (r=gal, jorendorff).
2009-03-03 22:53:27 -08:00
Andreas Gal
5b7dfe03a9
Assert prototype shapes when reading a hole from a dense array instead of calling a builtin (481328, r=brendan).
2009-03-03 21:58:56 -08:00
Andreas Gal
8c3223aab5
Browser spuriously sets runtime->anyArrayPrototypeHasElement and makes perf bad (481251, r=mrbkap).
2009-03-03 18:04:15 -08:00
Robert Sayre
f4c8ebe128
Merge tm to m-c.
2009-03-03 13:48:15 -05:00
Igor Bukanov
7f8a45e9f9
bug 479430 - adding mixing operation callback calls. r=gal
2009-03-02 14:32:27 +01:00
Andreas Gal
4c04aa2f53
Backed out bug 480657. Massive failures across all platforms.
2009-02-28 23:40:04 -08:00
Andreas Gal
7bd6cbad5f
Add an API to define traceable constructors (480657, r=brendan).
2009-02-28 18:18:42 -08:00
Andreas Gal
1cbf259c3c
Improve blacklisting (479109, r=graydon).
2009-02-25 18:47:22 -08:00
Jason Orendorff
2f464f3348
Bug 479826 - Remove cx->pcHint. r=gal.
...
--HG--
extra : rebase_source : caf9fef929fe161fad2f6a98b53cb3d00e43f31f
2009-02-23 17:29:40 -06:00
Robert Sayre
12943580cf
Merge m-c to tracemonkey.
2009-02-23 12:44:23 -05:00
Jason Orendorff
15b9f03458
Bug 479566 - Rename array "dense length" to capacity. r=shaver.
2009-02-21 15:33:50 -06:00
Igor Bukanov
7ac32de806
bug 478543 - fixing warnings about casts between function and data pointers. r=brendan
2009-02-19 09:33:37 +01:00
Jim Blandy
2d6ea8b787
Bug 478075: Remove parent argument to js_GetCallObject. r=brendan
2009-02-18 23:57:24 -08:00
Jason Orendorff
c936fbe2d4
Bug 463239 - JS_SetTrap alters code execution. r=brendan.
2009-02-18 18:31:09 -06:00
Robert Sayre
695b4646c3
Merge tm to mc
2009-02-19 11:48:08 -05:00
Jim Blandy
ede7e6d142
Bug 391488: Eliminate PTRDIFF macro; delete jssttddef.h. r=jimb
...
Delete jsstddef.h, since its only remaining purpose is to make certain
Win16-specific definitions; we don't support Win16 any more. In
particular, we can just subtract pointers now, so the PTRDIFF macro is
unnecessary noise.
Most places get stddef.h via jstypes.h or some other header, so we can
just delete #inclusions of jstddef.h. The exception is jskwgen.h, so
there we explicitly include <stddef.h> instead.
2009-02-18 09:14:51 -08:00
Robert Sayre
a3ab3a989e
Merge tm to m-c.
2009-02-17 20:08:01 -05:00
Wladimir Palant
0028837f26
Bug 475334 - Don't trigger debugger hooks until frame initialization is complete. r=mrbkap
2009-02-11 22:28:55 +01:00
Andreas Gal
93eb39269d
Substitute operation counting with a watchdog thread (477187, 3nd attempt, r=brendan/mrbkap/jst, sr=brendan/jst).
2009-02-10 14:07:01 -08:00
Andreas Gal
474d0d308f
Backout bug 477187.
2009-02-10 09:54:14 -08:00
Andreas Gal
f796bcd60a
Substitute operation counting with a watchdog thread (477187, 2nd attempt, r=brendan/mrbkap/jst, sr=brendan/jst).
2009-02-10 03:45:36 -08:00
Andreas Gal
7ea402f38c
Merge.
2009-02-09 22:54:41 -08:00
Andreas Gal
2a20c2a6de
Backing out bug 477187. Breaks xpcshell.
2009-02-09 22:54:05 -08:00
Andreas Gal
2e46d80547
Merge.
2009-02-09 18:21:15 -08:00
Andreas Gal
cbfbbd3cac
Substitute operation counting with a watchdog thread (477187, r=brendan/mrbkap/jst, sr=brendan/jst).
2009-02-09 18:20:50 -08:00
Blake Kaplan
843dd4928c
Bug 469405 - Handle an __iterator__ implementation returning a primitive value on trace. r=brendan
2009-02-07 11:28:23 -08:00
Jason Orendorff
b93b5173f2
Bug 476873 - TM: Trace JSOP_ARRAYPUSH. r=brendan.
2009-02-06 13:19:06 -06:00
Jeff Walden
ece84ef199
Bug 474501 - JS array and object literals should define properties, not set them, to avoid calling getters or setters along the prototype chain. r=brendan
2009-02-03 23:14:36 -08:00
Igor Bukanov
5fb2f0b511
bug 467495 - JSOP_DEFUN fixes to deal with non-top-level function statements redeclaring local argument and variables. r=brendan
2009-02-05 14:11:04 +01:00
Jeff Walden
3c038a63cb
Bug 463243 - Assert correct type in JSVAL_TO_* (and vice versa) macros to fail fast when type errors happen. r=brendan
2009-02-03 13:56:25 -08:00
Andreas Gal
359fa8c1b5
Backout bug 474501. Causes a massive slowdown in trace-tests.js that needs to be investigated.
2009-02-04 01:47:44 -08:00
Jeff Walden
6a3bcef361
Bug 474501 - JS array and object literals should define properties, not set them, to avoid calling getters or setters along the prototype chain. r=brendan
2009-02-03 23:14:36 -08:00
Jason Orendorff
e4c1fb1cfd
Bug 462027 - Bail off trace when reentering interpreter. r=gal.
2009-02-03 18:25:12 -06:00
Jeff Walden
461e28ae88
Backed out changeset ca733f2cc237; looks like some include system weirdness is biting where an old version of jsapi.h is being included which then causes a *newer* included version to miscompile. Weird, still investigating...
2009-02-03 15:48:30 -08:00
Jeff Walden
e356cf1d3a
Bug 463243 - Assert correct type in JSVAL_TO_* (and vice versa) macros to fail fast when type errors happen. r=brendan
2009-02-03 13:56:25 -08:00
Jason Orendorff
27c16ff3b1
Bug 476666 - TM: Crash reading near 0 @Detecting, regression due to bug 476238. r=gal.
2009-02-03 12:39:46 -06:00
Jason Orendorff
4e3f2cfd40
Revert to 07be1f190a3d. Revision 5f5c1cd63641 should not have been pushed.
2009-02-03 12:38:44 -06:00
Jason Orendorff
f8ca22b197
Bug 476666 - TM: Crash reading near 0 @Detecting, regression due to bug 476238. r=gal.
2009-02-03 12:19:50 -06:00
Andreas Gal
68e8901a4a
Bake the value of fp->imacpc into the trace and report it at recording time when detecting inside JSOP_GETELEM (follow-up for 476238, r=brendan,jorendorff).
2009-02-02 18:21:28 -08:00
Andreas Gal
37c6216a54
Merge.
2009-02-02 17:26:22 -08:00
Andreas Gal
3682914dfd
Leave a hint for GetProperty in the context so it can figure out the current bytecode location without de-optimizing (476238, r=jorendorff).
2009-02-02 17:25:59 -08:00
Igor Bukanov
70bfc5a80d
bug 476049 - optimizing js_CheckRedeclaration for the common case of non-existing properties. r=brendan
2009-02-02 20:53:56 +01:00
Robert Sayre
5bdafd3aba
Merge tm to m-c.
2009-02-28 12:38:33 -05:00
Blake Kaplan
14658eb0ed
Bug 479288 - Move wrapping back into the outerObject hook. r+sr=bent/jst
2009-02-25 17:32:09 -08:00
Jeff Walden
543f0d5a97
Back out bug 474501; it has a problem with one Mochitest.
2009-01-30 20:00:52 -08:00
Ben Turner
60956ac6bd
Bug 460882. r+sr=mrbkap.
2009-02-16 13:16:13 -08:00
Jeff Walden
e961f82d89
Bug 474501 - JSON literals shouldn't have prototype setters run during evaluation. r=brendan
2009-01-30 17:40:33 -08:00
Jason Orendorff
37f2985bdf
Bug 476177 - TM: cx->stackPool must not be accessed on trace. r=brendan.
...
--HG--
extra : rebase_source : 746d61b54aa38cbe18fe31bce4efcbbad4629678
2009-01-30 17:40:05 -06:00
Andreas Gal
595570a83e
Add debug hook to the threaded interpreter to trace instruction stream (476128, r=shaver).
2009-01-30 15:14:31 -08:00
Jason Orendorff
6142999fde
Bug 468782 - TM: js_FastValueToIterator and js_FastCallIteratorNext can reenter (relanding with a bug fix). r=brendan. Note that this changeset alone does not fix the bug; an upcoming patch in bug 462027 completes the fix.
2009-01-28 09:24:35 -06:00
Andreas Gal
7c6106e86d
Abort if we hit SETGVAR with a NULL slot (465567, r=brendan).
2009-01-28 00:35:20 -08:00
Andreas Gal
1bbc35daad
Backed out changeset d50d3681b94e (attempted re-landing of 474771).
2009-01-27 16:41:43 -08:00
Igor Bukanov
65cda4b280
Backed out changeset 39b1c9f21064 - the patch again has triggered the crashtest timeout.
2009-01-27 15:11:47 +01:00
Andreas Gal
f17d7cf056
Set on-trace flag only during trace execution, not recording (474771, r=brendan, patch has failed before, please back out at the earliest sign of trouble).
2009-01-27 01:55:31 -08:00
Andreas Gal
868cf7c72c
Backed out changeset ece63b96379b
2009-01-27 00:10:38 -08:00
Jason Orendorff
c0cc74fa99
Bug 468782 - TM: js_FastValueToIterator and js_FastCallIteratorNext can reenter. r=brendan. Note that this changeset alone does not fix the bug; an upcoming patch in bug 462027 completes the fix.
2009-01-27 00:19:58 -06:00
Robert Sayre
b5cd4ca3dc
Backout c0b2c82a524e.
2009-01-25 22:36:46 -08:00
Andreas Gal
e481ee3eb8
Only set onTrace flag while running native code, not when recording (474771, r=brendan).
2009-01-25 20:24:25 -08:00
Brendan Eich
c13882a292
Bug 470187 - TM: "Assertion failure: entry->kpc == (jsbytecode*) atoms[index]" with valueOf, regexp (r=jorendorff).
2009-01-23 14:33:42 -08:00
Brendan Eich
196e15a45e
Bug 473282 - TM: Crash [@ JS_CallTracer] (r=jwalden).
2009-01-23 14:31:07 -08:00
Andreas Gal
184fc63cd1
Backout bug 468782. Confirmed to leak.
2009-01-25 16:38:31 -08:00
Jason Orendorff
c9961fe054
Bug 468782 - TM: js_FastValueToIterator and js_FastCallIteratorNext can reenter. r=brendan. Note that this changeset alone does not fix the bug; an upcoming patch in bug 462027 completes the fix.
2009-01-22 16:39:26 -06:00
Andreas Gal
1d277bc633
Backout all patches since last mozilla-central merge (Thu Jan 22 19:14:02 2009 -500 by sayrer).
2009-01-25 02:58:22 -08:00
Andreas Gal
1baff988de
Only set onTrace flag while running native code, not when recording (474771, r=brendan).
2009-01-23 20:22:23 -08:00
Andreas Gal
1b154f72a6
Merge.
2009-01-23 15:15:34 -08:00
Andreas Gal
920ecc2113
Backed out changeset 17663da1b840 (bug 462027).
2009-01-23 15:14:46 -08:00
Brendan Eich
94412bc214
Bug 470187 - TM: "Assertion failure: entry->kpc == (jsbytecode*) atoms[index]" with valueOf, regexp (r=jorendorff).
2009-01-23 14:33:42 -08:00
Brendan Eich
4ade60e63d
Bug 473282 - TM: Crash [@ JS_CallTracer] (r=jwalden).
2009-01-23 14:31:07 -08:00
Jason Orendorff
9ff9140ae0
Bug 468782 - TM: js_FastValueToIterator and js_FastCallIteratorNext can reenter. r=brendan. Note that this changeset alone does not fix the bug; an upcoming patch in bug 462027 completes the fix.
...
--HG--
extra : rebase_source : 585d590aace159914629a786489b0883d23cf2a8
2009-01-22 16:39:26 -06:00
Graydon Hoare
a2f947e2a1
Bug 470310 - Interpreter errors or pending exceptions should abort trace, r=brendan.
2009-01-21 12:14:47 -08:00
Igor Bukanov
c032867e33
bug 472702 - using watchdog thread in js shell to trigger operation callback
2009-01-14 18:23:51 +01:00
Igor Bukanov
f28d80b499
Backed out changeset e117c22cc1d1 - the landed patch for bug 437325 has a shutdown leak.
2009-03-22 10:15:27 +01:00
Igor Bukanov
a61176553e
bug 437325 - JSThread is no longer shared between JSRuntime instances. r=brendan
2009-03-22 10:07:14 +01:00
Andreas Gal
b438fd1512
Can't allocate new stack chunks while on trace (484524, r=brendan).
2009-03-21 00:26:03 -07:00
Igor Bukanov
05591c4681
bug 426827 - removing incorrect assert. r=mrbkap
2009-03-20 12:37:20 +01:00
Andreas Gal
89c862278e
Merge.
2009-01-05 16:23:07 -08:00
Andreas Gal
135f143d10
Backed out changeset adbe8e4b21dc due to tinderbox failures/timeouts (453157).
2009-01-05 16:22:42 -08:00
Andreas Gal
8582d80da4
Merge.
2009-01-05 16:14:14 -08:00
Andreas Gal
61a1479f3e
Don't try to deallocate the trace recorder from inside one of its own instance methods (472049, r=brendan).
2009-01-05 16:13:53 -08:00
Andrei Saprykin
9f7c96f36f
bug 453157 - watchdog thread as an alternative to operation count. r=myself,mrbkap
2009-01-05 22:09:23 +01:00
Igor Bukanov
81c3a2b632
Backed out changeset 2d5e6b1c7254 - busted the WINNT 5.1 talos tracemonkey.
2008-12-23 19:24:09 +01:00
Andrei Saprykin
11dac3f234
bug 453157 - watchdog thread as an alternative to operation count. r=igor,mrbkap
2008-12-23 16:12:11 +01:00
Igor Bukanov
136838d60b
Backed out changeset 7184e014cd05 - the patch for bug 453157 bursted tgfx test on Windows.
2008-12-21 21:49:06 +01:00
Andrei Saprykin
c68c632137
bug 453157 - watchdog thread as an alternative to operation count
2008-12-21 17:16:09 +01:00
Igor Bukanov
5d5cb0738c
bug 469233 - using interrupt hook support in the interpreter for trace recording. r=brendan
2008-12-21 12:55:09 +01:00
Igor Bukanov
8062218e55
Backed out changeset 605fd1985d05 - more merge typos.
2008-12-21 12:50:36 +01:00
Igor Bukanov
1be7edd38e
bug 469233 - using interrupt hook support in the interpreter for trace recording. r=brendan
2008-12-21 12:31:38 +01:00
Igor Bukanov
635ca1d23a
Backed out changeset f13e2a2a5d66 - I was not careful when merging the unary op changes
2008-12-21 12:23:08 +01:00
Igor Bukanov
3388b615ce
bug 469233 - using interrupt hook support in the interpreter for trace recording. r=brendan
2008-12-21 00:16:41 +01:00
Jeff Walden
4710efd8a4
Bug 469942 - TM: 20% slower to compute unary +/-. r=brendan
2008-12-19 19:30:09 -08:00
Brendan Eich
7826ab3e9f
Fix warnings pointed out by Waldo from apply patch (465214).
2008-12-19 14:15:35 -08:00
Andreas Gal
bbf40348b6
Trace apply/call with an imacro (465214, r=brendan).
2008-12-18 19:20:47 -08:00
Andreas Gal
589fb9eb38
Merge.
2008-12-17 23:09:55 -08:00
Andreas Gal
3af573343f
Backed out changeset 95b210c2fc92 preemptively. Seems to crash the browser.
2008-12-17 23:09:26 -08:00
Andreas Gal
2dffadf0fb
Merge.
2008-12-17 22:54:02 -08:00
Andreas Gal
62f0547add
Trace apply/call using an imacro (465214, r=brendan).
2008-12-17 22:53:35 -08:00
Graydon Hoare
3477355ddd
Bug 465443, bail off trace when readonly properties are written, r=brendan.
2008-12-17 20:50:05 -08:00
Brendan Eich
56658da21f
Bug 465460 - TM: valueOf ignored on third iteration of loop (r=gal).
2008-12-16 19:03:42 -08:00
Brendan Eich
2bbb1f2b7b
Bug 469313 - TM: crash (GMail): JS_Assert (s=0x368d8f "!JS_ON_TRACE(cx)", file=0x3724c8 "/Users/roc/mozilla-checkin/js/src/jsobj.cpp", ln=3765) (r=gal).
2008-12-13 17:32:44 -08:00
Blake Kaplan
f3228fcb87
Bug 464092 - Censor access to block objects when they're the parents of functions. r=igor a=beltzner
2008-12-11 14:16:46 -08:00
Jason Orendorff
b7fb9bc849
Bug 460865 - Read barrier for cx->fp. r=mrbkap, r=dmandelin.
...
--HG--
extra : rebase_source : 19963188b2f9f96336ce6ca28dbaefccf3a639b7
2008-12-09 10:38:32 -06:00
Andreas Gal
e367780a2f
Trace apply and call (462482, r=brendan).
2008-12-04 18:07:18 -08:00
Vladimir Vukicevic
7a34f9500d
Merge mozilla-central into tracemonkey
2008-11-18 13:54:21 -08:00
Igor Bukanov
b31f8300ea
bug 452913 - fixing sprop management, r=brendan, a.9.1b2=sayer
2008-11-17 13:59:39 +01:00
David Anderson
43c8a3cb27
Fixed deep abort logic when onTrace is set without a recorder (bug 465192, r=gal).
2008-11-16 17:55:01 -08:00
David Anderson
db46b11fa1
Fixed recorders already deeply aborted being pushed onto the deep abort stack (bug 465145, r=gal).
2008-11-16 02:34:51 -06:00
David Anderson
321ce0dc05
Deep abort recorders outer recorders if we need to flush the JIT cache early (bug 463829, r=brendan,gal).
2008-11-15 18:54:24 -06:00
Brendan Eich
264e667808
Fix bogus assertion left in bug 463334.
2008-11-14 13:17:40 -08:00
Brendan Eich
9cbc195e82
Fix from Ginn Chen <ginn.chen@sun.com> for bug 464645.
2008-11-13 09:10:27 -08:00
Brendan Eich
cb47c4cf08
Bug 456511 - (imacros) TM: Make conversion work on arbitrary JSObjects (r=gal).
2008-11-13 00:30:20 -08:00
Andreas Gal
074d900a57
Backed out changeset a40f2117bcc0
2008-11-12 17:39:48 -08:00
Brendan
0ca607d76b
Add imacros to support conversion of arbitrary JSObjects (456511, r=gal).
2008-11-12 16:55:45 -08:00
Igor Bukanov
31d283c656
bug 464442 - various JSOP_APPLY fixes. r=brendan
2008-11-12 22:42:13 +01:00
Andreas Gal
55c5823950
Backed out changeset 594ec832d9a8
2008-11-07 18:19:35 -08:00
Andreas Gal
54ba19de70
Trace Function.apply and Function.call (462482, r=brendan).
2008-11-07 15:58:52 -08:00
Andreas Gal
2a666c87e8
Emit JSOP_APPLY for .call(...) (462445, r=brendan).
2008-10-30 16:01:53 -07:00
Andreas Gal
948aa93d60
Perform Function.apply in the interpreter loop bypassing js_Invoke (462265, r=brendan).
2008-10-29 23:59:19 -07:00
Andreas Gal
4548b3e585
Remove JSOP_UNUSED78 as 78 is now JSOP_APPLY (follow-up for 462209).
2008-10-29 13:43:53 -07:00
Andreas Gal
868e7934a2
Emit JSOP_APPLY for .apply(...) similar to JSOP_EVAL for .eval(...) (462209, r=brendan).
2008-10-29 13:30:41 -07:00
Andreas Gal
25404443ff
GC no longer flushes the JIT cache. Instead just make sure the shape of the global object will mismatch next time we try to record or execute code, which in turn will force a flush of the code cache (458288, r=brendan/danderson).
2008-10-28 16:22:08 -07:00
Brendan Eich
bad1b50498
Re-land patch for bug 458851 now that latent bug it uncovered (not filed; see hg log) is fixed.
2008-10-28 14:04:29 -07:00
Jason Orendorff
37724bb378
Backed out changeset d4fe79372140 (bug 458851) due to persistent orange on TraceMonkey tinderboxes.
2008-10-28 10:49:06 -07:00
Brendan Eich
51f987553a
Bug 458851 - TM: for-in loops skip every other value in certain cases (r=gal/mrbkap).
2008-10-27 22:30:52 -07:00
Brendan Eich
fcca844194
Bug 461248 - Remove JSOP_RESUME (r=gal/jorendorff).
2008-10-24 12:34:08 -07:00
David Anderson
590d3d2443
Fixed crash from JIT cache flushes when js_Interpret was holding TraceRecorders (bug 458288, r=brendan).
2008-10-24 10:47:59 -07:00
Jason Orendorff
e1877796ba
Bug 460501 - Round-trip change due to "&&" constant-folding leaving extra parens. r=brendan.
2008-10-21 13:35:22 -05:00
Brendan Eich
85afb14a56
Bug 460116 - buggy inCond propagation in js_FoldConstants (r=jorendorff).
2008-10-15 14:02:33 -07:00
Blake Kaplan
54cdbe81ec
Merge mozilla-central -> tracemonkey
2008-10-13 11:05:05 -07:00
Blake Kaplan
665c19d6ac
Bug 458355 - ecma_3/Operators/11.4.1-002.js fail; r=brendan
2008-10-13 19:02:43 +02:00
Andreas Gal
6c4c7256a5
Merge.
2008-10-09 16:17:53 -07:00
Andreas Gal
9a086f63ae
Don't carry around oldpc in AbortRecording path (459321, r=danderson).
2008-10-09 16:17:13 -07:00
Jason Orendorff
319f102472
Bug 459141 - Rename JSTN_{CATCH,FINALLY,ITER} to JSTRY_*. r=brendan.
2008-10-09 12:10:17 -05:00
Jason Orendorff
a27d101dab
Bug 458735 - Improve internal API for traceable natives (r=brendan, nanojit r=edwsmith)
2008-10-08 17:08:33 -05:00
Andreas Gal
1b0fd40e30
Trace push and pop for dense and sparse arrays (453734, r=brendan).
2008-10-07 11:00:16 -07:00
Brendan Eich
19e9638dc3
Bug 457920 - regexp-dna.js and generality want JSOP_GETELEM(dense array, "0") (r=mrbkap/gal).
2008-10-06 22:30:36 -07:00
Brendan Eich
6809989bde
Bug 455973 - TM: "Assertion failure: !cx->throwing" with getter that throws (r=mrbkap).
2008-10-06 20:57:38 -07:00
Andreas Gal
83ea7eb834
Merge.
2008-09-30 16:35:52 -07:00
Andreas Gal
1163c91b59
Don't trace empty for-in loops (457335, r=brendan).
2008-09-29 22:22:40 -07:00
Andreas Gal
d0ca373339
Follow-up work for 457789, emit JSOP_RESUME after JSOP_NEW as well (r=brendan).
2008-09-29 21:30:02 -07:00
Andreas Gal
320dd48955
Add a resume point (JSOP_RESUME) immediately following JSOP_CALL (457789, r=mrbkap).
2008-09-29 18:49:40 -07:00
Jason Orendorff
c35bfc3682
Bug 389034 - JS_SetProperty() ends up resolving w/o JSRESOLVE_ASSIGNING (r=brendan, sr=bzbarsky)
2008-09-25 11:13:31 -05:00
Andrei Saprykin
6f45d79b4b
bug 444979 - fixing JSOP_TABLESWITCH to treat -0 as 0
2008-09-25 15:18:41 +02:00
Andreas Gal
c3ae2f8027
Merge.
2008-09-24 19:33:04 -07:00
Andreas Gal
f1cdf0fd1c
Make sure JSOP_DEFLOCALFUN pushes the right function object (456470, r=brendan).
2008-09-24 19:31:51 -07:00
Brendan Eich
d9b970f735
Fix warning.
2008-09-24 18:50:46 -07:00
Andreas Gal
619234db4c
Back out attempt to invoke natives that return a boxed value (namely push and pop, 453734).
2008-09-24 15:18:19 -07:00
Brendan Eich
c184542b3b
Bug 453024 - Mochitest Assertion failure: vp + 2 + argc <= (jsval *) cx->stackPool.current->avail, at jsinterp.cpp:1066 (r=igor/mrbkap).
2008-09-24 02:10:47 -07:00
Andreas Gal
9d7afa336a
Add support for fast native that return jsval and wire up push/pop (453734, r=mrbkap).
2008-09-18 16:53:09 -07:00
Andreas Gal
708f08ca9c
Properly handle side exits in scripted constructors (originally mrbkap, r=brendan, 453462).
2008-09-18 14:13:37 -07:00
Brendan Eich
fddc6e36b3
[mq]: bug455408
2008-09-17 06:13:27 +01:00
Brendan Eich
68172b5938
Bug 453411 - "Assertion failure: !cx->onTrace" with yield string (r=gal).
2008-09-16 14:00:02 +01:00
Brendan Eich
a834957775
TraceRecorder::record_SetPropMiss mis-layered on top of record_SetPropHit (454689, r=mrbkap).
2008-09-11 15:53:00 -07:00
Blake Kaplan
bcd1f7f97d
Fix bustage -- these macros are only defined if the tracer was enabled.
2008-09-10 00:12:26 -07:00
Blake Kaplan
88856d9ef1
Merge tracemonkey -> mozilla-central
2008-09-09 23:38:21 -07:00
Brendan Eich
ce15bc7cd3
Bug 454039 - TM: don't abort TraceRecorder::record_JSOP_SETPROP on cache miss (r=mrbkap).
2008-09-09 22:22:52 -07:00
Brendan Eich
7d5c49516c
Back out patch for bug 454039.
2008-09-09 16:55:07 -07:00
Brendan Eich
c7b40d9f99
Bug 454039 - TM: don't abort TraceRecorder::record_JSOP_SETPROP on cache miss (r=mrbkap).
2008-09-09 16:05:04 -07:00
Brendan Eich
94b10f6170
Avoid needless prototype-shape purges (454035, r=igor).
2008-09-09 11:24:03 -07:00