Commit Graph

5030 Commits

Author SHA1 Message Date
Jeff Walden
23b0894344 Bug 484291 - INS_CONSTPTR should not cast to void*; callers should do their own casting if they want to interpret numbers as pointers. r=gal 2009-03-19 16:58:23 -07:00
Ben Turner
270aed708f Fix further windows build bustage 2009-03-19 18:01:48 -07:00
Ben Turner
364e0e0d6a Fix for windows build bustage 2009-03-19 17:19:19 -07:00
Ben Turner
3b7ccb55b7 Bug 480187 - 'Make qsgen.py generate traceable natives'. r+sr=jst. 2009-03-19 15:16:59 -07:00
Jeff Walden
9e48c3b9a6 Bug 483956 - gcc 4.4 warnings about "may be undefined" operations. r=gal 2009-03-19 15:05:48 -07:00
mrbkap@gmail.com
c46b004611 Bug 484151 - Initializing non-int elements calls the wrong imacro. Also call the right builtin when setting and initializing non-int properties (r=brendan). 2009-03-19 09:41:58 -07:00
Andreas Gal
47b45e60e7 Always check operation callback on backwards branches (484035, r=brendan). 2009-03-19 01:07:31 -07:00
Andreas Gal
3b47fbb12c Don't crash on non-primitive array indexes (484120, r=jwalden). 2009-03-18 18:50:15 -07:00
andrew@ishiboo.com
05975388f8 jslock.h conflicts with AIX system header priv.h (484010, r=mrbkap). 2009-03-18 18:08:35 -07:00
Andreas Gal
b20ebf6bfe NEWINIT creates objects with wrong prototype (484104, r=mrbkap). 2009-03-18 18:06:29 -07:00
Robert Sayre
a72a10f292 Merge tracemonkey to mozilla-central. 2009-03-18 02:56:46 -04:00
Andreas Gal
09195e59c7 Merge. 2009-03-17 21:51:19 -07:00
Andreas Gal
65c3cf58a6 Backed out changeset e71cb3993380 (bug 479110). 2009-03-17 21:50:57 -07:00
Jeff Walden
4a7b00dc77 Bug 469347 - TM: obj.length and slowArray.length don't trace. r=gal 2009-03-17 20:19:57 -07:00
Andreas Gal
771582b7b4 Extend tree when unboxing returns a different type (479110, r=jwalden). 2009-03-17 20:00:10 -07:00
dmandelin@mozilla.com
e93b7d4630 Copy entire regular expression into the code buffer (483920, r=gal). 2009-03-17 19:28:14 -07:00
Andreas Gal
1af13483ea Eliminate separate global frame and merge it with InterpState (482377, r=brendan). 2009-03-17 17:29:58 -07:00
David Mandelin
1b820884be Bug 483821: native regexps confused because of bug in hash key comparison, r=gal 2009-03-17 17:27:54 -07:00
Andreas Gal
2b615b1fd3 Compilation fix for MSVC (no bug). 2009-03-17 16:36:45 -07:00
Andreas Gal
b3e9ac412a Merge. 2009-03-17 15:55:35 -07:00
Andreas Gal
7da88f37bd Backed out changeset 186ae511d5f2 (static analysis annotation only, no bug). 2009-03-17 15:55:06 -07:00
Graydon Hoare
44c661ddb2 Bug 471373 - OOM in imacro trips assert, r=brendan. 2009-03-17 15:50:55 -07:00
Andreas Gal
43debacfae Remove unnecessary JS_REQUIRES_STACK from guardNotGlobalObject (rs=brendan). 2009-03-17 15:44:50 -07:00
Andreas Gal
facdb25f67 Merge. 2009-03-17 15:40:15 -07:00
Andreas Gal
210b2d31e2 Try harder to trace array access with non-int / non-string index (478525, r=brendan). 2009-03-17 15:39:42 -07:00
Jeff Walden
0d638ca87a Bug 483103 - TM: "Assertion failed: p->isQuad()" with str["-1"]; make str[-1] a non-special property rather than one that returns the length of str. r=brendan 2009-03-17 15:27:31 -07:00
Brendan Eich
fd84f47200 Followup nit-picks for 457065. 2009-03-17 12:52:16 -05:00
Andreas Gal
315a5d0bcb Read barrier for global object properties (463153, r=brendan). 2009-03-17 10:39:51 -07:00
Andreas Gal
6f8cc1ba9e Merge. 2009-03-17 10:27:06 -07:00
Andreas Gal
8fb6a7a444 Use lir->insImmf and emit ins_eq0 centrally in guard() (483365, r=brendan). 2009-03-17 10:26:37 -07:00
Brendan Eich
4117cd07fb Bug 457065. TM: Assertion failure: !fp->callee || fp->thisp == JSVAL_TO_OBJECT(fp->argv[-1]). r=mrbkap 2009-03-17 10:42:44 -04:00
Igor Bukanov
01b205d742 bug 369696 - improving object graph serialization. r=brendan 2009-03-17 09:51:38 +01:00
Robert Sayre
9ac4525064 Merge tracemonkey to mozilla-central. 2009-03-17 18:16:55 -04: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
Andreas Gal
c5b3eb193e Backed out changeset 10b781704400 (bug 457065). 2009-03-15 23:45:51 -07:00
Brendan Eich
719048c202 Fix bogus assertion (457065, r=gal). 2009-03-15 23:09:50 -07:00
Ted Mielczarek
c9f9c7bae8 bug 483800 - fix nsinstall.py to not error if a target dir already exists. r=pike 2009-03-17 12:09:50 -04:00
Robert Sayre
a6e93ac17a Merge tracemonkey to mozilla-central. 2009-03-16 18:44:07 -04:00
Robert Sayre
ca09c1a74b Merge mozilla-central to tracemonkey. 2009-03-15 12:23:57 -04:00
Doug Turner
ff0bc343ea Bug 478911. better geolocation mochitests. r=ctalbert/jmaher 2009-03-14 21:03:21 -07:00
Ben Turner
2a8109bd42 Bug 480185 - 'XPConnect shouldn't poke JS objects manually, should use JSAPI.' patch by Blake Kaplan <mrbkap@gmail.com> and myself. r+sr=jst. 2009-03-14 20:45:20 -07:00
Ben Turner
eed6c83bb8 Bug 482306 - "Several deadlocks related to nested requests and nsJSContext::CompileEventHandler". r+sr=mrbkap, a=blocking1.9.1+. 2009-03-14 20:42:50 -07:00
Wladimir Palant
1806ebc45a Bug 480765 - Scripts compiled before the debugger got activated cannot be debugged; r=timeless 2009-03-14 15:57:31 +01:00
Robert Sayre
9c46baf11f Merge tracemonkey to mozilla-central. 2009-03-13 20:07:22 -04:00
Jeff Walden
55ec4e74cd I hate config/*. 2009-03-13 14:45:45 -07:00
Igor Bukanov
8021720a68 backout merge 2009-03-13 18:37:27 +01: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
a9dd7cc7ab triggering tinderbox rebuild for bug 437325 to check if orange there persists 2009-03-13 16:06:23 +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