203646 Commits

Author SHA1 Message Date
Bob Clary
e7ff6babda bug 483433 - comment bug number in spidermonkey-n-1.9.2.tests. 2009-03-14 15:27:05 -07:00
Igor Bukanov
256adae7ca bug 362910 - js_GetMethod cleanup. r=brendan 2009-03-14 17:41:47 +01:00
Jim Blandy
90ced44f5a 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
3febbbf2b1 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
fe4cf97707 Back out 480132 fix; static analysis red 2009-03-14 00:57:54 -07:00
Jim Blandy
bbfb18733b 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
85a82cd735 Backout patch for Bug 480132. Debug only nit fix busts static analysis compile. 2009-03-14 02:20:45 -04:00
Jim Blandy
fbbd7c8499 Bug 480132. SpiderMonkey clones too many blocks into the heap. r=igor 2009-03-14 02:09:28 -04:00
Jim Blandy
6a8cf3514b Back out fix for 481444; orange on Linux TraceMonkey unit test: http://tinderbox.mozilla.org/showlog.cgi?log=TraceMonkey/1236978913.1236990062.26824.gz&fulltext=1 2009-03-13 18:07:25 -07:00
Jason Orendorff
665ac862e0 Bug 481444 - TM: objectHook is called on trace, via js_NewObject [@ LeaveTree] or [@ js_SynthesizeFrame]. r=gal.
Thanks Daniel!
2009-03-12 08:34:57 -05:00
Igor Bukanov
0a18627951 backout merge 2009-03-13 18:37:27 +01:00
Igor Bukanov
903c931f12 Backed out changeset 57de81309176 - bug 437325 - due to mochitest leaks on tinderbox 2009-03-13 18:36:46 +01:00
Igor Bukanov
a6370ce13e triggering tinderbox rebuild for bug 437325 to check if orange there persists 2009-03-13 16:06:23 +01:00
Igor Bukanov
5827df6066 bug 437325 - JSThread is no longer shared between runtimes. r=brendan 2009-03-13 12:36:21 +01:00
Igor Bukanov
6ae6ba83d8 Backed out changeset 4159ebdfe31e to fix some typos in the patch 2009-03-13 12:21:04 +01:00
Igor Bukanov
5046859e37 bug 437325 - JSThread is not shared between runtimes. r=brendan 2009-03-13 12:10:34 +01:00
Robert Sayre
5b0d60710e Merge mozilla-central to tracemonkey. 2009-03-13 02:40:28 -04:00
Mike Connor
0c4416fe01 merging backout stuff 2009-03-13 00:30:53 -04:00
Mike Connor
637602fc0d Backed out changeset e27fe0b767ea to see if it helps unit test failures 2009-03-13 00:25:22 -04:00
Graydon Hoare
cb43b3f6ad Bug 482263 - Avoid re-entering recorder while deep aborting, r=mrbkap. 2009-03-12 20:14:51 -07:00
Robert Sayre
5697ba7870 Merge tracemonkey to mozilla-central. 2009-03-12 21:56:18 -04:00
Mike Connor
9a1abfa143 bug 418687 - [Mac] Firefox Menu Listing does not show Addons, Downloads, Error Console Popup Windows in PB mode, r=gavin 2009-03-12 21:41:57 -04:00
Graydon Hoare
cf9da8ba12 Backout changeset 5e0cc374593c for bug 482800. 2009-03-12 16:15:33 -07:00
Shawn Wilsher
ab6681a101 Bug 481227 - nsAnnoProtocolHandler gets favicon data synchronously from the database
The moz-anno protocol has a special case for favicons that would load them from
the database synchronously.  This patch changes this behavior to load them
asynchronously so we do not block the main thread while they load.
r=mak
r=bz
sr=bz
2009-03-12 17:49:37 -04:00
Andreas Gal
c3488766b0 Don't emit overflow guards if the operation is constant (483030, r=danderson). 2009-03-12 16:51:34 -04:00
Andreas Gal
ea2450c1b1 Make sure we don't walk out of a thin loop even if the loop condition is constant (482800, r=danderson). 2009-03-12 16:49:29 -04:00
Boris Zbarsky
4b7bc7b23f Back out the crasher test change from CLOSED TREE 2009-03-12 16:20:04 -04:00
Boris Zbarsky
d9d5198a5e Test change to trigger a crash when trying to construct a table frame so we can test the new talos stack tooling, but should compile 2009-03-12 15:47:18 -04:00
Boris Zbarsky
141ab5160d Test change to trigger a crash when trying to construct a table frame so we can test the new talos stack tooling 2009-03-12 15:46:48 -04:00
Shawn Wilsher
fda0936e59 Bug 481261 - Expose when queries are being inefficient in debug builds.
This adds a warning in debug builds about queries that do not use an index to
sort, which tend to be much much slower.
r=asuth
2009-03-12 14:30:15 -04:00
Shawn Wilsher
5cdb2ed9fc Test to ensure that the content type for moz-anno favicon URIs is set as expected.
This test is being added in bug 481227 but does not depend on the code changes
in that bug.  This test should pass with and without those changes.
r=bz
2009-03-12 14:01:12 -04:00
Michal Novotny
90f671e83d Bug 482601. Add tests for bug 449198. r=bzbarsky 2009-03-12 12:59:00 -04:00
Doug Turner
370a65a062 Backing out bug 473443 - drawImage of canvas onto self is incorrect. WINCE only. 2009-03-12 09:56:44 -07:00
Dão Gottwald
bf48ce0e2f Bug 482975 - disable browser_477657.js 2009-03-12 16:57:55 +01:00
Stuart Parmenter
d591ddae5c bug 482091. patch from Jeff Muizelaar. fix cash on maemo with plugins 2009-03-12 08:11:10 -07:00
Boris Zbarsky
a64ef9fc93 Bug 482592. Use the right container in ContentInserted. r+sr=roc 2009-03-12 10:17:14 -04:00
Boris Zbarsky
553c2a6892 Bug 482585. Move some XUL textbox-specific rules out of xul.css and into the relevant bindings. r=enn, sr=dbaron 2009-03-12 10:16:33 -04:00
Igor Bukanov
73c8c8378d triggering rebuild to check if bug 482038 really caused tinderbox failures 2009-03-12 15:04:00 +01:00
Dão Gottwald
bee0276a4e merge 2009-03-12 14:45:00 +01:00
Dão Gottwald
886c6dce06 Backed out changeset 2d7dde25e45f 2009-03-12 14:44:27 +01:00
Ted Mielczarek
538ebffba4 bug 482733 - nsinstall.py should support copying directories recursively. r=pike (fix the js/src copy as well) 2009-03-12 09:42:23 -04:00
Marco Bonardo
c6f818c9b1 Bug 482235 - missing semicolons, sorry. 2009-03-12 14:14:12 +01:00
Pardal Freudenthal
b2868dca86 Bug 482235 - instead of exposing bookmarklets attribute, expose scheme in uri nodes, r=mak77 2009-03-12 14:05:48 +01:00
Ted Mielczarek
16fcc5b1e2 bug 482733 - nsinstall.py should support copying directories recursively. r=pike 2009-03-12 08:46:38 -04:00
Ted Mielczarek
ce4e896556 bug 482733 - nsinstall.py should support copying directories recursively - refactor nsinstall.py and add unittests. r=pike 2009-03-12 08:46:38 -04:00
Nochum Sossonko
322fd93fce Bug 475203 - regression tests for tabstrip scrolling. r=dao 2009-03-12 13:10:38 +01:00
Ehsan Akhgari
6d64776768 Merge backout of changeset 69322c1764ff 2009-03-12 13:38:13 +03:30
Ehsan Akhgari
0fb9b6eb23 Backed out changeset 69322c1764ff (bug 464800) due to test failures on Mac 2009-03-12 13:37:40 +03:30
Ehsan Akhgari
efd79bc264 Merge backout of changeset 113bda3be8df 2009-03-12 13:36:44 +03:30
timeless@mozdev.org
476b213594 Bug 482809 Crash [@ jsds_SyncFilter(FilterRecord*, jsdIFilter*) ] when appendFilter() called with Console2 installed
removing errant change that crept into rev 36f4da6e262a with the fix for bug 136292
r=roc
2009-03-12 13:04:48 +01:00