Commit Graph

5025 Commits

Author SHA1 Message Date
Andreas Gal
d3533c3025 Don't emit overflow guards if the operation is constant (483030, r=danderson). 2009-03-12 16:51:34 -04:00
Andreas Gal
7118a3b6b6 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
Igor Bukanov
16863b8913 triggering rebuild to check if bug 482038 really caused tinderbox failures 2009-03-12 15:04:00 +01:00
Ted Mielczarek
efd484eecc 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
Jason Orendorff
befcabe89e 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
Bob Clary
98c4c640f7 bug 452913 - JavaScript Test by Gary Kwong. 2009-03-14 15:27:08 -07:00
Bob Clary
152d76e179 bug 460504 - JavaScript Test by Jesse Ruderman. 2009-03-14 15:27:08 -07:00
Bob Clary
1e81ded1fe bug 466747 - JavaScript Test by Jesse Ruderman. 2009-03-14 15:27:08 -07:00
Bob Clary
d745dbd258 bug 476192 - JavaScript Test by Carsten Book, Jesse Ruderman. 2009-03-14 15:27:08 -07:00
Bob Clary
2494d76a7d bug 479740 - JavaScript Test by Gary Kwong. 2009-03-14 15:27:08 -07:00
Bob Clary
e21a72888c bug 480147 - JavaScript Test by Carsten Book, Jesse Ruderman. 2009-03-14 15:27:08 -07:00
Bob Clary
074e0979bd bug 481800 - JavaScript Test by Gary Kwong. 2009-03-14 15:27:07 -07:00
Bob Clary
b92e885cf8 bug 481989 - JavaScript Test by Gary Kwong. 2009-03-14 15:27:07 -07:00
Bob Clary
d6f16d4d2c bug 482263 - JavaScript Test by Gary Kwong. 2009-03-14 15:27:07 -07:00
Bob Clary
3f17b8b08a bug 482421 - JavaScript Test by Gary Kwong. 2009-03-14 15:27:07 -07:00
Bob Clary
f73e317351 Bug 482783, Bug 481793, Bug 476871, Bug 482349, Bug 482594 - merge js/src/trace-test.js, js/tests/js1_8_1/trace/trace-test.js. 2009-03-14 15:27:07 -07:00
Bob Clary
b80af17a33 bug 483438 - remove public failures from source control. 2009-03-14 15:27:07 -07:00
Bob Clary
af6906d71b bug 483434 - Sisyphus - JavaScript Tests - add support for narcissus. 2009-03-14 15:27:06 -07:00
Bob Clary
af1acbbe04 bug 483433 - comment bug number in spidermonkey-n-1.9.2.tests. 2009-03-14 15:27:05 -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
Jim Blandy
249eed4eb3 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
f7ad0e9e06 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
timeless@mozdev.org
292ef18fb2 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
timeless@mozdev.org
e4571da779 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 12:31: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
Robert Sayre
598602fe5d Bug 482899 - Don't call the reviver function when the JSON parse fails. r=jwalden 2009-03-12 03:27:15 -04:00
Robert Sayre
17397679cd Merge tracemonkey to mozilla-central. 2009-03-12 02:31:48 -04:00
Ginn Chen
bbf004a772 Bug 480144 Fix Solaris bustage 2009-03-12 14:24:04 +08:00
Robert Sayre
9e67170bdc Do things in a different order. Bug 482861. r=jwalden 2009-03-12 02:18:59 -04:00
Jeff Walden
2de1fda1f3 Bug 482783 - TM: Crash [@ js_ConcatStrings] due to forgetting about tagbits. r=brendan 2009-03-11 18:52:03 -07:00
Blake Kaplan
32bd109aca Bug 482830 - Use a principal when compiling -e scripts. r+sr=jst 2009-03-11 16:13:01 -07:00
Robert Sayre
60379a7a19 Merge tracemonkey to mozilla-central. 2009-03-11 17:42:39 -04:00
Ted Mielczarek
9aada2da48 bug 482084 - rewrite xpcshell test harness. r=bsmedberg 2009-03-11 11:56:58 -04:00
Ted Mielczarek
d0e46c0bc4 bug 480144 - fix spidermonkey to compile on mingw. r=bsmedberg,jorendorff 2009-03-11 11:56:58 -04:00
Jason Orendorff
3aee538e7f Bug 480147 - TM: "Assertion failure: cx->bailExit" with string.replace and type instability. r=gal. 2009-03-11 10:52:18 -05:00
Jason Orendorff
dbb0b6a149 Bug 481218 - js_IsCallable returns false for functions. r=brendan.
--HG--
extra : rebase_source : 52d3cba36f3fa1301223cb579bd75ec7bbd5d130
2009-03-11 10:46:45 -05:00
Igor Bukanov
94d4ac0da5 bug 478336 - fixing rt->state/rt->contextList mutation race. r=brendan 2009-03-11 11:54:49 +01:00
Ginn Chen
1233d3dcd9 Bug 480967 Don't leak MSYS paths into makefiles, fix Solaris bustage r=bsmedberg 2009-03-11 16:51:47 +08:00
Robert Sayre
8f77fb9b9e Merge. 2009-03-11 04:19:20 -04:00
Brendan Eich
9eb422d7f2 Bug 482594 - TM: followup work for support String(v) -- String constructor called as a converter (r=jwalden). 2009-03-10 16:32:16 -07:00
Blake Kaplan
1703c72fbc Bug 482381 followup -- use a better name for the "value" field. r=brendan
--HG--
extra : rebase_source : b819d281fdeaab16d562d9ded6841da5f5ea3cd3
2009-03-10 16:00:27 -07:00
Blake Kaplan
df0c6f4108 Bug 482381 - Add JS_GetPropertyDescriptorById to quickly get all information about a given property, possibly off of the prototype chain. r=brendan/jorendorff
--HG--
extra : rebase_source : 2384be436993600204d457861231a3b180bc5147
2009-03-10 15:21:25 -07:00
Blake Kaplan
8afe2165b9 Bug 482384 - Fix GCC warnings about casting between data and function pointers. r+sr=jst
--HG--
extra : rebase_source : bb9356f20f563511e5f4bd3e4308e1f82b1f8d52
2009-03-10 15:21:25 -07:00
Robert Sayre
a408d9bbad Merge m-c to tm. 2009-03-10 16:49:12 -04:00
Benjamin Smedberg
329e9b5420 Bug 481336 - Quickstub additional properties on nsIDOMHTMLAnchorElement and nsIDOMNSHTMLAnchorElement, r=bz 2009-03-10 15:55:55 -04:00
Robert Sayre
278d53e244 Fix test bustage from bug 482349. r=jorendorff 2009-03-10 13:55:30 -04:00
Igor Bukanov
09d80afc72 bug 355829 - treating null as a primitive value in js_ValueToObject. r=brendan 2009-03-10 13:52:10 +01:00
Brendan Eich
5abff57eb3 Waldo's followup fix to valueOf/toString misorder in patch for bug 482349 (r=me). 2009-03-10 01:52:43 -07:00
Brendan Eich
70e7ecd244 Fix bug 482421 (r=gal). 2009-03-10 01:46:23 -07:00
Jeff Walden
b0184f38f5 Kick tinderboxen to see if the current orange is random or not 2009-03-09 22:47:13 -07:00
Andreas Gal
2565c872a4 Merge. 2009-03-09 18:39:14 -07:00
Andreas Gal
89cb250b42 Backed out changeset 65be699dabf0. 2009-03-09 18:38:54 -07:00
Brendan Eich
db48c38fa9 Bug 476240 - Generate via imacro_asm.js the big condition in TraceRecorder::monitorRecording's OPDEF macro (r=gal). 2009-03-09 18:34:35 -07:00
Andreas Gal
088eeb6c9d Try harder to trace array access with non-int / non-string index (478525, r=brendan). 2009-03-09 17:34:22 -07:00
Andreas Gal
d3cc05e80b Merge. 2009-03-09 17:30:06 -07:00
Andreas Gal
0002d84879 Support String(v) -- String constructor called as a converter (482349, r=jwalden). 2009-03-09 17:29:42 -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
David Mandelin
b151fe5042 Bug 481760: myngle.com crash due to incorrect compiled regexp end-of-string check, r=brendan 2009-03-09 11:21:03 -07:00
Andreas Gal
480a780c0c Drop a few unnecessary extern declarations in jstracer.cpp (no bug). 2009-03-07 01:57:09 -08:00
David Mandelin
a148ea64cd Add missing GC_POKE to js_SetRequiredSlot (481922, r=igor). 2009-03-07 01:32:22 -08: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
Andreas Gal
b18ca034e3 Better coordination of nested tree recording (481793, r=dmandelin). 2009-03-06 17:25:04 -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
Andreas Gal
c5d188e46b Don't import slots that have a non-stub setter (476871, r=jorendorff). 2009-03-06 16:10:45 -08:00
Jason Orendorff
03c079e78a Bug 481673 - JS_Assert is C++-name-mangled in non-DEBUG builds. r=brendan. 2009-03-06 13:51:11 -06:00
Andreas Gal
33d7df8eaf Abort recording when we come across a function being written into the global object (r=brendan, 481800). 2009-03-05 22:37:56 -08:00
Brendan Eich
2cc1145443 Bug 481754 - js1_8_1/trace/regress-462459-05.js - trace new Array regressed (r=gal). 2009-03-05 17:28:34 -08:00
Bob Clary
b39f349267 bug 481766 - update JavaScript Test failures. 2009-03-05 17:15:13 -08:00
Bob Clary
dece7951f3 bug 473709 - JavaScript Test by Gary Kwong. 2009-03-05 17:15:12 -08:00
Bob Clary
c3ed67a422 bug 457521 - JavaScript Test by Gary Kwong. 2009-03-05 17:15:12 -08:00
Bob Clary
d4a2cb841b bug 472787 - JavaScript Test by Gary Kwong. 2009-03-05 17:15:12 -08:00
Bob Clary
8f89cb3d2d bug 477758, bug 478968, bug 480479, bug 480657, bug 481246 - JavaScript Tests - merge js/src/trace-test.js and js/tests/js1_8_1/trace/trace-test.js. 2009-03-05 17:15:12 -08:00
Bob Clary
aaa410c697 bug 346749 - JavaScript Test by Blake Kaplan. 2009-03-05 17:15:12 -08:00
Bob Clary
01cacf5c8d bug 381963 - JavaScript Tests by Jesse Ruderman, Aiko. 2009-03-05 17:15:11 -08:00
Bob Clary
eed5462926 bug 384758 - JavaScript Test by Jesse Ruderman. 2009-03-05 17:15:11 -08:00
Bob Clary
4b16ea80d8 bug 449657 - JavaScript Tests by Christopher Lenz, ash_mozilla. 2009-03-05 17:15:11 -08:00
Bob Clary
f4ed10bad7 bug 449666 - JavaScript Test by Robert Sayre. 2009-03-05 17:15:11 -08:00
Bob Clary
dfe7e5b79b bug 451673 - JavaScript Test by Boris Zbarsky. 2009-03-05 17:15:11 -08:00
Bob Clary
6f1504be91 bug 464092 - JavaScript Tests by Jesse Ruderman. 2009-03-05 17:15:10 -08:00
Bob Clary
313e16c6a4 bug 464096 - JavaScript Test by Jesse Ruderman. 2009-03-05 17:15:10 -08:00
Bob Clary
2fe25e3e5f bug 465567 - JavaScript Tests by Jesse Ruderman. 2009-03-05 17:15:10 -08:00
Bob Clary
b4786bd1dc bug 467495 - JavaScript Tests by Gary Kwong, Brendan Eich, Igor Bukanov. 2009-03-05 17:15:10 -08:00
Bob Clary
b47b7ae88e bug 468711 - JavaScript Test by Jesse Ruderman. 2009-03-05 17:15:10 -08:00
Bob Clary
39be807da4 bug 469234 - JavaScript Test by Jesse Ruderman. 2009-03-05 17:15:10 -08:00
Bob Clary
e9d3f9c56b bug 469239 - JavaScript Tests by Jesse Ruderman. 2009-03-05 17:15:09 -08:00
Bob Clary
c30482b6c6 bug 469625 - JavaScript Tests by Gary Kwong, Jesse Ruderman and Jason Orendorff. 2009-03-05 17:15:09 -08:00
Bob Clary
748d73409a bug 469761 - JavaScript Test by Jesse Ruderman. 2009-03-05 17:15:09 -08:00
Bob Clary
7d0f7db552 bug 472450 - JavaScript Tests by Gary Kwong. 2009-03-05 17:15:09 -08:00
Bob Clary
497552d977 bug 472508 - JavaScript Test by Gary Kwong, Jesse Ruderman. 2009-03-05 17:15:09 -08:00
Bob Clary
935d8ccdcd bug 474771 - JavaScript Test by Jesse Ruderman. 2009-03-05 17:15:08 -08:00
Bob Clary
fed578cad0 bug 475144 - JavaScript Test by Gary Kwong. 2009-03-05 17:15:08 -08:00
Bob Clary
73da4e3f9b bug 475469 - JavaScript Test by Jesse Ruderman. 2009-03-05 17:15:08 -08:00
Bob Clary
6554817f46 bug 479353 - JavaScript Test by Gary Kwong. 2009-03-05 17:15:07 -08:00
Bob Clary
0892d49383 bug 300079 - Test is for clone and not for js1.8 features. Modify to use functions and move to js1_5/extensions/. 2009-03-05 17:15:07 -08:00