Phil Ringnalda
0f09b5f0a1
Back out 9157b71a7df1 (bug 793491) for assertion failures
2012-10-07 21:02:46 -07:00
Nicolas B. Pierron
31256e0d0d
Bug 798913 - Prevent inlining of overflow of arguments. r=dvander
2012-10-07 20:50:20 -07:00
Brian Hackett
5b7b802892
Bug 793491. There isn't really any reason to have lots of type barriers for different objects at a site, since if we manage to discharge all the barriers the target will probably just be marked as a generic object anyways. So go ahead and just fall back to an AnyObject barrier once we have more than BARRIER_OBJECT_LIMIT barriers on a single pc. r=jandem
2012-10-07 23:04:38 -04:00
Nicholas Nethercote
9443d0e656
Bug 793076 (part 8) - Make GetCachedLocalTime() infallible. r=jwalden.
...
--HG--
extra : rebase_source : a0631d386fb6666b03c32bd96f594000add57d32
2012-10-07 18:03:20 -07:00
Nicholas Nethercote
b0debc316d
Bug 793076 (part 7) - Rename CacheLocalTimes() and change its return type from bool to void. r=jwalden.
...
--HG--
extra : rebase_source : 99a9b3e5944d61d5cad87f80afafb0dd22379179
2012-10-07 18:01:54 -07:00
Nicholas Nethercote
eb6e2e1ceb
Bug 793076 (part 6) - Remove SetDateToNaN. r=jwalden.
...
--HG--
extra : rebase_source : 2fddc9bf0e38c215f169afbc3480a5d793315bb9
2012-10-07 18:01:51 -07:00
Nicholas Nethercote
c3c7498f24
Bug 793076 (part 5) - Change SetUTCTime()'s return type from bool to void. r=jwalden.
...
--HG--
extra : rebase_source : 33411aca5216e1e8bf298500c7f9fd5dd61d8d6a
2012-10-07 18:01:35 -07:00
Nicholas Nethercote
1e4965a462
Bug 793076 (part 4) - In jsdate.cpp, exactly root remaining JSObject* pointers. r=jwalden.
...
--HG--
extra : rebase_source : f90b0eecbb1f81c38ff55132faf05384b98ef622
2012-09-20 23:23:54 -07:00
Nicholas Nethercote
0cb9d495a6
Bug 793076 (part 3) - In jsdate.cpp, convert Rooted<JSObject*> pointers to RootedObject. r=jwalden.
...
--HG--
extra : rebase_source : a6493707a8ddc223a5a72b8131483c285543dc02
2012-09-20 23:23:18 -07:00
Nicholas Nethercote
eed8832023
Bug 793076 (part 2) - In jsdate.cpp, convert |cx| parameters to |dstOffsetCache| where possible. r=jwalden.
...
--HG--
extra : rebase_source : 27977fc5c54e7f359cdb0bf550a3d6ddcbd4cae5
2012-09-20 23:22:35 -07:00
Nicholas Nethercote
9dd67d2d7e
Bug 793076 (part 1) - Remove unnecessary |cx| parameters. r=jwalden.
...
--HG--
extra : rebase_source : 0cfe86ca3b2de60b0097f6cd4686dfabe6748897
2012-09-20 21:41:49 -07:00
Jan de Mooij
35ed2a4cb0
Bug 798823 - Don't use an empty IonActivation in FastInvokeGuard. r=dvander
2012-10-07 14:27:11 -07:00
David Rajchenbach-Teller
c5de104711
Bug 795505 - Feed typed arrays to js-ctypes. r=jorendorff
2012-10-06 21:53:23 -04:00
Jan de Mooij
4c701ddea3
Temporarily disable bug 797131 part 3 for fuzz crashes. r=dvander on IRC
2012-10-07 01:15:53 +02:00
Jan de Mooij
3d252e32d7
Bug 798819 - Ensure the EnterJIT thunk exists when using FastInvoke. r=dvander
2012-10-06 15:39:04 -07:00
Ed Morley
783c00c96e
Merge mozilla-central to mozilla-inbound
2012-10-06 21:47:07 +01:00
Tom Schuster
b2ff782bd9
Bug 784765 - Add fastpath for string equality with different length. r=jandem
2012-10-06 21:59:14 +02:00
Ed Morley
fd14735924
Merge last PGO-green changeset of mozilla-inbound to mozilla-central
2012-10-06 20:30:35 +01:00
Boris Zbarsky
93652f7aa1
Bug 796410. Make things still work right if we disable Paris list bindings. r=peterv
2012-10-06 12:21:42 -04:00
Boris Zbarsky
d111159c5b
Bug 798011. Deal with JS_ValueToString failing. r=gabor
2012-10-06 12:06:24 -04:00
Kannan Vijayan
07b5e3c080
Bug 798589 - Change GetProp IC attachCallGetter to use script being jitted to get ion framesize instaed of script the getprop belongs to. (r=jandem)
2012-10-06 09:58:06 -04:00
Jan de Mooij
9eba59ef6b
Bug 797131 part 3 - Add fast path for calling into Ion. r=dvander
2012-10-06 11:38:18 +02:00
Jan de Mooij
56ead1811c
Bug 797131 part 2 - Add FastInvokeGuard and use it. r=dvander
2012-10-06 11:37:59 +02:00
Jan de Mooij
34ba0a997a
Bug 797131 part 1 - Various small changes. r=dvander
2012-10-06 11:37:18 +02:00
Ms2ger
b99bbfc3f1
Bug 795610 - Part g: Introduce custom quickstubs that call the newly introduced WebIDL APIs; r=mounir
2012-10-06 09:20:56 +02:00
Mike Hommey
a49e5ec23e
Bug 797322 - Preprocessed .jsm files don't get //@line info. r=ted
2012-10-06 10:38:58 +02:00
Jim Blandy
acc80d41e3
DONTBUILD
...
(No bug): Remove inaccurate comment for js::gc::CellIter r=billm on IRC
2012-10-05 17:32:41 -07:00
Nicolas B. Pierron
7ca4e48f49
Bug 792398 - Recover arguments from bailouts. r=luke
2012-10-04 23:56:07 -07:00
Nicolas B. Pierron
53e2255388
Bug 787813 - Argument object, Use StackIter instead of StackFrame. r=luke
2012-10-04 23:56:06 -07:00
Nicholas Nethercote
2d9d809e6a
Bug 797695 (part 4) - Exactly root jsscript.cpp. r=terrence.
...
--HG--
extra : rebase_source : b6cc292b092b30e339a75921245d4605275c104d
2012-10-04 16:22:03 -07:00
Nicholas Nethercote
1b5371c422
Bug 797695 (part 3) - Exactly root js_NewFunction(). r=terrence.
...
--HG--
extra : rebase_source : afece8e51f17ad3ed4d7cef013f169fa957362d4
2012-10-04 16:21:51 -07:00
Nicholas Nethercote
763815ff83
Bug 797695 (part 2) - Exactly root jsfun.cpp. r=terrence.
...
--HG--
extra : rebase_source : 9a46d4b08cf0e71f34b7d87699329bc8f6ec4e47
2012-10-04 16:21:40 -07:00
Nicholas Nethercote
83edc53765
Bug 797695 (part 1) - Exactly root jsexn.cpp. r=terrence.
...
--HG--
extra : rebase_source : 9680504cb9e93a9fe10af0ff6f2cd3253c011b06
2012-10-04 16:21:36 -07:00
Kannan Vijayan
374d722ef8
Bug 786126 - part 3 - Allow null/undefined in typeset of target object of GetProp ICs. (r=sstangl)
2012-10-05 00:28:36 -04:00
Nicolas B. Pierron
6d6a4ebf99
Revert "Bug 797977 - Embed !isIon() assertion in StackIter::fp(). r=luke"
...
This reverts changeset 588135660310.
2012-10-05 15:00:46 -07:00
Nicolas B. Pierron
922cd8b85a
Bug 797977 - Embed !isIon() assertion in StackIter::fp(). r=luke
2012-10-05 14:01:03 -07:00
Steve Fink
474c2833e7
Bug 797213 - Test output may not go to stdout if -O given. r=terrence
...
--HG--
extra : rebase_source : b0ca42e73f5da97e65eb73abb2115857d14fd9fa
2012-10-05 13:17:36 -07:00
Steve Fink
7233570328
Bug 797213 - jstests.py -O<filename> should default show-output to on. r=terrence
...
I didn't expect to have to specify -o in addition to -O. I get that you might want to use -s instead of -o, but -o is probably much more common.
--HG--
extra : rebase_source : 25e5f6ec23b3b4b006f12d405a30c6c43b631423
2012-10-05 13:17:23 -07:00
Steve Fink
097abe11ce
Bug 797213 - jstests.py: add a -F (--failed-only) option to only display output of failed tests. r=terrence
...
I also snuck a change to the output format, to display the test name in the output so that it is possible to associate output with the test that produced it. I mixed it in just because it was a little harder to separate out into a separate patch. I could easily do so, if you'd like.
--HG--
extra : rebase_source : ac26efd171eb6fa19b90eae22a29d047f1ba55b8
2012-10-05 13:17:01 -07:00
Steve Fink
7d1892b3fd
Bug 797217 - Replace InternalHandleBase::zeroPointer with NullPtr::constNullValue. r=terrence
...
--HG--
extra : rebase_source : f70e1d996fb01e790b277524128faa68060dac6d
2012-10-05 13:16:39 -07:00
Steve Fink
5245459e96
Bug 797128 - Minor rooting fix and SkipRoot justification. r=terrence
...
The first valid SkipRoot I've found. copyFromArray was inexplicably discarding a handle, and with that fixed there are some unrooted internal pointers stored on the stack. But the only things that can trigger GC will also trigger an early exit, so all of the unrooted pointers are dead if a GC happens anyway.
--HG--
extra : rebase_source : b0c0157bcfdb7461086cdec4be8f71f94ab24c55
2012-10-05 13:14:47 -07:00
Steve Fink
d6ea063312
Bug 797123 - Fix JS_ALWAYS_TRUE(fallible ToNumber) in jstypedarray.cpp. r=Waldo
...
Apparently, it was once believed that ToNumber is infallible when given a primitive value. It has 2 or 3 different ways of failing on OOM. For example, if you're onverting a string containing a double, you might blow out memory constructing the dtoa cache.
--HG--
extra : rebase_source : 88c91620678eb9be7ad8dd67f48c54cf843c09e6
2012-09-20 11:21:12 -07:00
Steve Fink
6f78d53b8b
Bug 794214 - Avoid putting poisoned pointer into type->newScript. r=billm
...
--HG--
extra : rebase_source : 904806c6059409c1af02624a1b4b989329f5acf3
2012-09-25 13:48:40 -07:00
Sean Stangl
23f5bfd011
Bug 797551 - Use callWithABI() for Math.random(). r=dvander
2012-10-05 12:05:21 -07:00
Jan de Mooij
cda495f49b
Bug 797825 - Port Array.prototype.concat fast path from JM to Ion. r=dvander
...
--HG--
extra : rebase_source : e5213bb7085685821f80ad9978b7b81706289c36
2012-10-05 20:25:21 +02:00
Bobby Holley
d2677f7903
Bug 761695 - Put Proxy and DOM expandos on the expando object, rather than the holder. r=peterv
2012-10-05 18:59:24 +02:00
Bobby Holley
65d701d159
Bug 761695 - Hoist expando-checking (but not expando-creating) operations into common code. r=peterv
...
We do this for delete_, enumerateNames, and resolveOwnProperty. This doesn't change
existing behavior, because for ProxyXrayTraits and DOMXrayTraits the expando object
will (currently) always be null.
2012-10-05 18:59:24 +02:00
Bobby Holley
c0372a746c
Bug 761695 - Create XrayTraits::resolveOwnProperty. r=peterv
2012-10-05 18:59:23 +02:00
Bobby Holley
b568e20af2
Bug 761695 - Reorder checks for expandos and nodePrincipal. r=peterv
...
Peter and I decided this was ok. We can't hoist expando stuff otherwise.
2012-10-05 18:59:23 +02:00
Bobby Holley
9f982e86a6
Bug 761695 - Implement expando traps for ProxyXrayTraits DOMXrayTraits. r=peterv
...
For new DOM proxies, we could probably use the Xray expando machinery for the
regular expando object as well, and free up one of the reserved slots. That's
more than I want to bite off for the moment, though.
I also decided not to block on bug 760095 and just kick the problem of globals
with new binding down the road a little bit.
2012-10-05 18:59:23 +02:00
Bobby Holley
bde8b4dc55
Bug 761695 - Move wrapper preservation stuff into a virtual trap. r=peterv
...
I'm not sure this stuff is correct for non-WN objects. Hopefully that will
come out in review.
Anyway, with this change, the expando infrastructure in XrayTraits is now
fully generic and non-WN-specific. To make things work for other objects,
we now need to implement the virtual traps and hoist the code that calls the
expando machinery out of XPCWrappedNativeXrayTraits.
2012-10-05 18:59:23 +02:00
Bobby Holley
83413fc2ff
Bug 761695 - Make expando chain getting/setting a virtual trap. r=peterv
2012-10-05 18:59:23 +02:00
Bobby Holley
27d1f16b24
Bug 761695 - Hoist expando infrastructure into XrayTraits. r=peterv
...
It's still WN-only, now we can move the WN-only bits into virtual traps.
Note that the new-binding reparenting code will need to have a call to
CloneExpandoChain.
2012-10-05 18:59:23 +02:00
Bobby Holley
24447452ab
Bug 761695 - Hoist Xray identification machinery into XrayWrapper, and use it for trait identification. r=peterv
...
We don't currently have a good way of selecting the traits used by a given Xray
wrapper. This lets us do that.
Note: We add a call to js::UnwrapObject to GetXrayType while hoisting it. When
it was used only in WrapperFactory, this was unnecessary, because |obj| was
always unwrapped. But for our new purposes, it might not be. Aside from that,
there are no changes to the function.
2012-10-05 18:59:23 +02:00
Bobby Holley
bc9563cdd3
Bug 761695 - Move Xray expando infrastructure further down in the file. r=peterv
...
Just cut/paste. No code changes.
2012-10-05 18:59:23 +02:00
Bobby Holley
14a7c3faef
Bug 761695 - Unify holder creation and access. r=peterv
...
With this patch, all holders are created lazily. There are two common accessors,
getHolder() and ensureHolder(). The former returns null if no holder exists, the
latter lazily creates the holder if it doesn't exist. It does this by calling into
a virtual trap on XrayTraits, which lets the appropriate Xray type do its thing.
2012-10-05 18:59:23 +02:00
Bobby Holley
39eb44c43c
Bug 761695 - Get the WN directly from the wrapper. r=peterv
...
All this indirection was getting seriously mucky. This, incidentally, means that
the XPCWN holder no longer needs a reserved slot pointing to the WN.
2012-10-05 18:59:23 +02:00
Bobby Holley
39b50f40b1
Bug 761695 - Hoist call and construct traps into Traits, since the current implementations are XPCWN-specific. r=peterv
2012-10-05 18:59:22 +02:00
Bobby Holley
af5508a4ff
Bug 761695 - Rename getInnerObject to getTargetObject. r=peterv
...
The current name potentially implies that the object returned is an inner
object in the JS sense, which isn't true. Really we just want the thing
we're Xraying to.
2012-10-05 18:59:22 +02:00
Bobby Holley
8138496fa5
Bug 761695 - Hoist getInnerObject into XrayTraits. r=peterv
...
The only special handling here with wrapped natives is to make sure that we
bypass outer windows. But we can do this with js::UnwrapObject.
2012-10-05 18:59:22 +02:00
Bobby Holley
49a666ce37
Bug 761695 - Make Xray traits inherit from a common superclass and give them a singleton instance. r=peterv
...
There's some code that can be shared between different Xray traits, but can't
(yet) be hoisted into XrayWrapper, because it needs to be callable from outside
XrayWrapper where we don't have the appropriate template parameters. Moreover,
this code benefits from virtual function specialization. The use case here is
illuminated in the next patch.
For the moment, we skip converting the bulk of the traits calls to virtual
methods, because they're working just fine.
2012-10-05 18:59:22 +02:00
Bobby Holley
95a9308d91
Bug 761695 - Stop stashing a raw WN pointer in XPCWN Xray holders. r=peterv
...
We might as well do this dynamically, which simplifies the code. Note that we
could avoid the reserved slot by parenting the holder to the wrapper. But the
JS parent API is deprecated, and we need to move away from it to reserved slots
anyhow. We might as well start here, with the added advantage that parenting
to the global makes us consistent with the other Xray types.
2012-10-05 18:59:22 +02:00
Bobby Holley
0d9f3281b6
Bug 761695 - Simplify XPCWN Xray holder creation. r=peterv
...
The major semantic change here is that we parent holders directly to their
global. This should be fine.
2012-10-05 18:59:22 +02:00
Bobby Holley
f044136221
Bug 761695 - Fix inaccurate commenting. r=peterv
...
The .wrappedJSObject property only exists when the Xray wrapper subsumes the wrappee.
2012-10-05 18:59:22 +02:00
Justin Lebar
c34f38bf2a
Bug 796523 - Expire the JS timezone cache whenever we create a new compartment. r=waldo
...
This is a hack/heuristic to ensure that the JS timezone cache remains
fresh (so that if you navigate to a new page or refresh your gmail, you
always get the right timezone), while not interfering with the role the
cache plays in benchmark performance.
2012-10-05 11:33:36 -04:00
Jan de Mooij
8c527f35c5
Bug 797720 - Don't add MonitorTypes instruction if there's a type barrier. r=dvander
2012-10-05 17:16:11 +02:00
Ed Morley
73c1ee9ba7
Backout 4a76e692a4ab, 2962951f5fcc, d1d2149443ed, 83c3735801e7, 675ef796ed5b, f4b029b6b164, 83fa2144aa1d (bug 765119) for make check failures
2012-10-05 13:12:10 +01:00
Marty Rosenberg
06cb519b1a
Fix windows by adding in an initializer (bug 765119, r=dvander)
2012-10-05 06:15:36 -04:00
Marty Rosenberg
80bec711e0
Add in two patches that were lost while rebasing (bug 765119, r=jandem)
2012-10-03 09:37:50 -04:00
Marty Rosenberg
88871c43a2
Fix a bunch of bugs that the fuzzers found (bug 765119, r=dvander)
2012-10-02 04:34:28 -04:00
Marty Rosenberg
225982ed77
Teach RangeAnalysis how to deal with unreachable blocks (bug 765119, r=dvander)
2012-10-02 04:34:28 -04:00
Marty Rosenberg
395f81ba4d
Add narrowing into range analysis, greatly speeding up some testcases (bug 765119, jandem)
2012-10-02 04:34:28 -04:00
Marty Rosenberg
de197e9224
Add a bunch of features to range analysis to make it optimize more. (bug 765119, r=jandem)
2012-10-02 04:34:28 -04:00
Marty Rosenberg
9a1ee2dbfc
Beta nodes sholud be able to have infinite ranges, fixes very slow testcase (bug 765119, r=dvander)
2012-10-02 04:34:27 -04:00
Sean Stangl
f346eb1ea2
Bug 793516 - Bail in case of impossible MToDouble input. r=dvander
2012-10-04 15:08:37 -07:00
Terrence Cole
4274fc1127
Bug 794667 - Add an AutoAssertCanGC to help with exact rooting; r=billm
...
This will allow us to annotate all methods with either an AutoAssertNoGC or
AssertCanGC. These will serve the purpose currently being served by
MaybeCheckStackRoots, but because they are lighter can be used throughout the
engine.
2012-10-04 14:22:51 -07:00
Nicolas B. Pierron
5baf5a8148
Bug 797496 - Ignore hidden PC even with try notes. r=luke
2012-10-04 14:11:27 -07:00
Benoit Jacob
6ee7b9f2c3
Bug 779611 - reland parts 5-8 - port WebGLTexture, WebGLBuffer, WebGLFramebuffer, WebGLRenderbuffer, WebGLShader, WebGLProgram to WebIDL bindings - r=bz
2012-10-04 16:35:54 -04:00
Nicolas B. Pierron
1b58fc7bc1
Revert "Bug 797496 - Ignore hidden PC even with try notes. r=luke"
...
This reverts changeset 3b7a134bc3aa.
2012-10-04 12:35:03 -07:00
Nicolas B. Pierron
795fee3471
Bug 797496 - Ignore hidden PC even with try notes. r=luke
2012-10-04 12:26:53 -07:00
Benoit Jacob
631713204c
back out 6f3714945438, 5732dca84958, bfb93cf89612, e697a832c60b for Mac build error
2012-10-04 15:06:31 -04:00
Bill McCloskey
270374af22
Bug 793904 - Crash safely if JS_TransplantObject fails (r=bholley)
...
--HG--
extra : rebase_source : 2269b4fdfd9a81d73f4b598dc64ebd470c8a557f
2012-09-25 17:05:09 -07:00
Benoit Jacob
47ecb7bdce
Bug 779611 - part 8 - port WebGLShader and WebGLProgram to WebIDL bindings - r=bz
2012-10-04 14:45:35 -04:00
Benoit Jacob
11b1af470b
Bug 779611 - part 7 - port WebGLFramebuffer and WebGLRenderbuffer to WebIDL bindings - r=bz
2012-10-04 14:45:33 -04:00
Benoit Jacob
e3e1db192c
Bug 779611 - part 6 - port WebGLBuffer to WebIDL bindings - r=bz
2012-10-04 14:45:32 -04:00
Benoit Jacob
e406e56db1
Bug 779611 - part 5 - port WebGLTexture to WebIDL bindings - r=bz
2012-10-04 14:45:25 -04:00
Jan de Mooij
05b4f61e7d
Bug 797185 - Disable DVG stack search when building with --enable-more-deterministic. r=decoder
2012-10-04 13:26:16 +02:00
Bobby Holley
f0f37be93f
Bug 797583 - Remove bogus assertion. r=mrbkap
2012-10-04 11:56:51 +02:00
Makoto Kato
37e32d2d0a
Bug 789753 - Save non-volatile XMM registers on Win64 ABI. r=dvander
2012-10-04 18:15:31 +09:00
Nicholas Nethercote
6b94b0ba89
Bug 797495 - Loosen overly tight assertion in Parser::setStrictMode(). r=luke.
...
--HG--
extra : rebase_source : 3b51f28ae7460f21fc3ea3554aa07f0996c99b15
2012-10-03 23:29:24 -07:00
Marty Rosenberg
e4655565af
Don't align the contents of a pool when a pool section is empty (bug 793390, r=jbramley)
2012-10-04 00:50:12 -04:00
Kannan Vijayan
346440841f
Bug 795803 - Enable ICing of JSNative and PropertyOp getters. (r=jandem)
2012-10-03 22:55:24 -04:00
Jeff Walden
27b84a053f
Bug 795745 - Properly report errors for Number.prototype.to* methods when a provided precision is invalid. r=luke
2012-10-03 21:45:03 -04:00
Gabriele Svelto
4772ae075b
Bug 739780 - Switch Telephony.cpp to use nsTArrayHelpers.h implementation of nsTArrayToJSArray. r=khuey, r=mrbkap
2012-09-28 10:43:49 -07:00
Nicolas B. Pierron
bd29f35a9d
Bug 792220 - Remove lookupProperty to prevent interpreter reentrance. r=jandem
2012-10-03 15:41:16 -07:00
Andrea Marchesini
9f37766b0b
Bug 720083 - Workers: add support for transferable objects from HTML5 spec. r=sphink, r=bent
2012-10-03 18:19:22 -04:00
Benoit Jacob
5d519163f1
Bug 779611 - part 3 - port WebGL extensions to WebIDL bindings, refactor them - r=bz,jgilbert
2012-10-03 17:13:05 -04:00
Benoit Jacob
08fc05d7cf
Bug 779611 - part 2 - drop old bindings for WebGLUniformLocation - r=bz
2012-10-03 17:13:05 -04:00
Benoit Jacob
545b47b406
Bug 779611 - part 1 - port WebGLShaderPrecisionFormat to WebIDL bindings - r=bz
2012-10-03 17:13:05 -04:00
Kannan Vijayan
e54e024b3f
Bug 797435 - Add rooting of IC stub IonCodes to OOL exit frames. (r=dvander)
2012-10-03 14:21:53 -04:00