Commit Graph

22752 Commits

Author SHA1 Message Date
Bobby Holley
02fbd34534 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
513593624e 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
764ba38fdf Bug 761695 - Make expando chain getting/setting a virtual trap. r=peterv 2012-10-05 18:59:23 +02:00
Bobby Holley
522451000d 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
2b6769e01a 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
52b466bd70 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
f025bdc025 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
7ca744b818 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
b250c23a43 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
1a61d79fcf 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
c701c6c8c9 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
4d248020dd 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
22cdfb3eb3 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
612c502d18 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
340b28c0bd 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
8d279512db 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
cc3ec60710 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
eb8688238d Backout 4a76e692a4ab, 2962951f5fcc, d1d2149443ed, 83c3735801e7, 675ef796ed5b, f4b029b6b164, 83fa2144aa1d (bug 765119) for make check failures 2012-10-05 13:12:10 +01:00
Marty Rosenberg
0fab5b72ee Fix windows by adding in an initializer (bug 765119, r=dvander) 2012-10-05 06:15:36 -04:00
Marty Rosenberg
629d5422bd Add in two patches that were lost while rebasing (bug 765119, r=jandem) 2012-10-03 09:37:50 -04:00
Marty Rosenberg
78b1334c17 Fix a bunch of bugs that the fuzzers found (bug 765119, r=dvander) 2012-10-02 04:34:28 -04:00
Marty Rosenberg
b30d6a0acf Teach RangeAnalysis how to deal with unreachable blocks (bug 765119, r=dvander) 2012-10-02 04:34:28 -04:00
Marty Rosenberg
2bdcb597fe Add narrowing into range analysis, greatly speeding up some testcases (bug 765119, jandem) 2012-10-02 04:34:28 -04:00
Marty Rosenberg
df22f16de7 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
0ae2ada192 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
a250ee0f5f Bug 793516 - Bail in case of impossible MToDouble input. r=dvander 2012-10-04 15:08:37 -07:00
Terrence Cole
d57ae72bd3 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
d26aeb4147 Bug 797496 - Ignore hidden PC even with try notes. r=luke 2012-10-04 14:11:27 -07:00
Benoit Jacob
7c88e5e534 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
9de23bad9e 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
1feabd61b8 Bug 797496 - Ignore hidden PC even with try notes. r=luke 2012-10-04 12:26:53 -07:00
Benoit Jacob
3c55b8bae9 back out 6f3714945438, 5732dca84958, bfb93cf89612, e697a832c60b for Mac build error 2012-10-04 15:06:31 -04:00
Bill McCloskey
f8de4165c8 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
75765490e7 Bug 779611 - part 8 - port WebGLShader and WebGLProgram to WebIDL bindings - r=bz 2012-10-04 14:45:35 -04:00
Benoit Jacob
3c8b827724 Bug 779611 - part 7 - port WebGLFramebuffer and WebGLRenderbuffer to WebIDL bindings - r=bz 2012-10-04 14:45:33 -04:00
Benoit Jacob
5fed8a3b08 Bug 779611 - part 6 - port WebGLBuffer to WebIDL bindings - r=bz 2012-10-04 14:45:32 -04:00
Benoit Jacob
f0b59e1bef Bug 779611 - part 5 - port WebGLTexture to WebIDL bindings - r=bz 2012-10-04 14:45:25 -04:00
Jan de Mooij
610662b185 Bug 797185 - Disable DVG stack search when building with --enable-more-deterministic. r=decoder 2012-10-04 13:26:16 +02:00
Bobby Holley
65fa4e51c8 Bug 797583 - Remove bogus assertion. r=mrbkap 2012-10-04 11:56:51 +02:00
Makoto Kato
59e0a1465c Bug 789753 - Save non-volatile XMM registers on Win64 ABI. r=dvander 2012-10-04 18:15:31 +09:00
Nicholas Nethercote
cb6c0744e7 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
124a62e12e 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
a95c44ef34 Bug 795803 - Enable ICing of JSNative and PropertyOp getters. (r=jandem) 2012-10-03 22:55:24 -04:00
Jeff Walden
68238fd960 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
f3daa82807 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
663e1f970a Bug 792220 - Remove lookupProperty to prevent interpreter reentrance. r=jandem 2012-10-03 15:41:16 -07:00
Andrea Marchesini
2cfa5a3d14 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
3a142c6980 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
9470b7d5d2 Bug 779611 - part 2 - drop old bindings for WebGLUniformLocation - r=bz 2012-10-03 17:13:05 -04:00
Benoit Jacob
8a7f727099 Bug 779611 - part 1 - port WebGLShaderPrecisionFormat to WebIDL bindings - r=bz 2012-10-03 17:13:05 -04:00
Kannan Vijayan
9569d40c6f Bug 797435 - Add rooting of IC stub IonCodes to OOL exit frames. (r=dvander) 2012-10-03 14:21:53 -04:00
Ed Morley
949913a92a Backout 1d2a2a4ce97c, 1a3d23311a58, ec67e229cc9b, 43a250bfe33d, 43e4a8a3788b, e9cb6c217681 (bug 765119) for mochitest failures on Windows 2012-10-03 16:00:45 +01:00
Ed Morley
0b19401ec5 Backout 6f31bcbcdbf4 (bug 781859) for Android M8 failures 2012-10-03 15:39:08 +01:00
Andrew Quartey
106c5d6f24 Bug 792581 - part 5: Replace LL_CMP macro with standard comparison. r=ehsan 2012-10-03 10:13:19 -04:00
Marty Rosenberg
4a5bae9d89 Add in two patches that were lost while rebasing (bug 765119, r=jandem) 2012-10-03 09:37:50 -04:00
Marty Rosenberg
35ecda7903 Fix a bunch of bugs that the fuzzers found (bug 765119, r=dvander) 2012-10-02 04:34:28 -04:00
Marty Rosenberg
0f805c90d6 Teach RangeAnalysis how to deal with unreachable blocks (bug 765119, r=dvander) 2012-10-02 04:34:28 -04:00
Marty Rosenberg
d0a209f492 Add narrowing into range analysis, greatly speeding up some testcases (bug 765119, jandem) 2012-10-02 04:34:28 -04:00
Marty Rosenberg
92fcef15b4 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
7bf3a3daf6 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
Jan de Mooij
bdc7e05ecd Bug 781859 - Fix chunked compilation bug with unreachable code. r=dvander
--HG--
extra : rebase_source : ec927c5b43c402fa97a3dee6e569c1b322f71586
2012-10-03 13:11:48 +02:00
Bobby Holley
e86f6f47ba Bug 795275 - Telemetry. r=mrbkap 2012-10-03 11:44:18 +02:00
Bobby Holley
02d3f31738 Bug 795275 - Warn about content access to |Components|. r=mrbkap 2012-10-03 11:44:18 +02:00
Bobby Holley
5fa99bf185 Bug 795275 - Turn Components into a JS value getter for content scopes. r=mrbkap 2012-10-03 11:44:18 +02:00
Bobby Holley
b9afeeb542 Bug 795275 - Introduce an explicit mechanism for determining if a script is from XBL. r=mrbkap
We want this right now so that we can avoid the scary warning when content Components
access happens in XBL (which we're allowing going forward). This patch would be overkill
just for that, but I also have plans to introduce a SOW-like protection of the Components
wrapper filtering policy. I can't just do the filename hack for that though, because real-
world XBL filenames might be all over the place. So let's just be safe here.
2012-10-03 11:44:18 +02:00
Bobby Holley
5d4e37827c Bug 795275 - Clean up isSystemOnlyAccessPermitted. r=mrbkap
A lot of this stuff can be simplified now, and we can stop using the deprecated APIs.
2012-10-03 11:44:18 +02:00
David Anderson
47a719af0a Fix buggy interactions between IC patching and invalidation (bug 793165 part 2, r=jandem). 2012-10-02 13:43:47 -07:00
David Anderson
a60b33c783 Clean up IonScript privacy (bug 793165 part 1, r=jandem). 2012-10-02 13:43:44 -07:00
Nicholas Nethercote
f0aa73d2b4 Bug 796760 (part 2) - Exactly root FinalizeOp. r=terrence.
--HG--
extra : rebase_source : 0cd1e5a0f2aceb043b56bea8e1649847cad212f0
2012-10-02 22:03:00 -07:00
Nicholas Nethercote
dc202c314e Bug 796760 (part 1) - Exactly root JSTraceOp. r=terrence.
--HG--
extra : rebase_source : da9591cf8013337b954d11d6921d6a666aae49e7
2012-10-02 22:02:44 -07:00
Nicholas Nethercote
daba0ca48f Bug 796320 (part 3) - Remove JSContext::lastMessage. r=luke.
--HG--
extra : rebase_source : efda9e940e598fc037d6d51403b95c01ba3bad4b
2012-10-02 19:13:21 -07:00
Nicholas Nethercote
a0352fce84 Bug 796320 (part 2) - Remove dead AutoSetGeneratingError. r=luke.
--HG--
extra : rebase_source : 71d471a4c98b74a166f6b94996bcb68cdb8424ea
2012-10-02 19:13:20 -07:00
Nicholas Nethercote
16162f0e93 Bug 796320 (part 1) - Remove dead JSRuntime::waiveGCQuota. r=luke.
--HG--
extra : rebase_source : 5467d1b60c0b1c4d7c9a9b386a4834556e770579
2012-10-02 19:13:16 -07:00
Sean Stangl
759fe4c2a3 Bug 793516 - Avoid JS_NOT_REACHED() if assertion failure is plausible. r=dvander 2012-10-02 16:43:04 -07:00
David Mandelin
d5e3ad15ce Bug 750019: disable optimizations for nsIDOMHTMLDocument_Write on MSVC, r=bz
--HG--
extra : rebase_source : 00230976a1242a20c95dc7e9f841d872114d717a
2012-10-02 12:35:37 -07:00
Masatoshi Kimura
140d294330 Bug 795544 - Make StringEncoding API available from xpcshell/jsm. r=bz 2012-10-02 20:14:38 -04:00
Phil Ringnalda
af28412930 Back out 40aee4aca350 and 9bfd6c420eba (bug 793165) for Android build bustage on a CLOSED TREE 2012-10-02 14:33:20 -07:00
Ehsan Akhgari
d30047f3f2 Silence two more clang unused-private-field warnings in the IonMonkey code; no bug, irc-r=dvander 2012-10-02 17:28:55 -04:00
David Anderson
523de46c66 Fix buggy interactions between IC patching and invalidation (bug 793165 part 2, r=jandem). 2012-10-02 13:43:47 -07:00
David Anderson
d883bf7cae Clean up IonScript privacy (bug 793165 part 1, r=jandem). 2012-10-02 13:43:44 -07:00
Shu-yu Guo
340427682b Bug 795227 - ParallelArray should check length range like Array (r=dvander) 2012-10-02 11:33:46 -07:00
Shu-yu Guo
a80af04a92 Bug 795165 - Rewrite ParallelArray toString from recursive to iterative (r=dvander) 2012-10-02 11:33:45 -07:00
Jeff Walden
c0bf915836 Bug 797049 - Disable C4351 as an MSVC warning about a change to be standards-compliant in MSVC2005 (!). Also sync up warning-disabling between configure.in and js/src/configure.in, and add comments about the warnings being disabled. r=khuey
--HG--
extra : rebase_source : 21218d7dc130c0471985dd5bcd12afc74e348595
2012-10-02 11:49:32 -07:00
Luke Wagner
d6e6cc7ee2 Bug 795574 - name lookup in JSOP_IMPLICITTHIS should default to the global (r=waldo)
--HG--
extra : rebase_source : f4779f72c69016e4b1aa2aea0b363c37052d990e
2012-10-02 10:51:10 -07:00
Jeff Walden
00b7f94c1d Windows opt build warning fixes. No bug, r=njn on the jsopcode code removal, r=lumpy on the rest 2012-10-02 09:32:29 -07:00
Eddy Bruel
335dd478e2 Bug 795625 - Don't push StmtInfo for Parser::functionBody; r=jorendorff on irc 2012-10-02 16:04:25 +02:00
Eddy Bruel
b5a7df7616 Bug 795721 - Inherit FunctionBox from ObjectBox; r=njn 2012-10-02 14:56:26 +02:00
Ed Morley
3d3703a920 Merge mozilla-central to mozilla-inbound 2012-10-02 11:19:03 +01:00
Ed Morley
37e140b58c Backout 7895a56d434d, 2520fd9f3883, bca9d7ef2727, ba4e134b13fd (bug 765119) for make check failures 2012-10-02 10:58:37 +01:00
Ed Morley
6d5339e06a Backout dbc7e1bc48d0 (bug 765119) for make check failures 2012-10-02 10:55:04 +01:00
Marty Rosenberg
cbae6a6047 Fix a bunch of bugs that the fuzzers found (bug 765119, r=dvander) 2012-10-02 04:34:28 -04:00
Marty Rosenberg
9c205754fb Teach RangeAnalysis how to deal with unreachable blocks (bug 765119, r=dvander) 2012-10-02 04:34:28 -04:00
Marty Rosenberg
b6f27789c3 Add narrowing into range analysis, greatly speeding up some testcases (bug 765119, jandem) 2012-10-02 04:34:28 -04:00
Marty Rosenberg
0bf60350bf 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
e1f4c6b326 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
Nicholas Nethercote
fc46ef052c Bug 795768 (part 2) - De-macroize js_GetSrcNote().
--HG--
extra : rebase_source : de59e96db34cf46ab87fd808a493c52e0ed54d45
2012-09-30 21:18:07 -07:00
Nicholas Nethercote
21ccb1661f Bug 795768 (part 1) - Remove lots of dead JSContext* occurrences.
--HG--
extra : rebase_source : 78cfccb915228146c36951fe4912b7b59e544319
2012-09-30 21:13:53 -07:00
Terrence Cole
3d1d154421 Backout ed626654fe56 for alleged performance regression. 2012-10-01 18:10:18 -07:00
Sean Stangl
00f47eff65 Bug 794679 - Cache for GetPcScript(). r=pierron 2012-10-01 16:59:11 -07:00
Terrence Cole
d5d0faa0aa Bug 793823 - Don't create a second InternalBindingsHandle; r=billm
In FillBindingVector, we can just pass the script to BindingIter.
2012-10-01 15:43:50 -07:00
Terrence Cole
598a2f8510 Bug 793823 - Store an InternalHandle in BindingIter; r=billm
Currently, BindingIter stores a Bindings*: this is sometimes a pointer into a
JSScript, which causes the analysis to poison it.  This patch straightforwardly
replaces this Bindings* with an InternalBindingsHandle.

--HG--
extra : rebase_source : bc780da603be1ae24fbbdf2d304d3fdb53de130e
2012-09-26 15:39:33 -07:00
Bobby Holley
4a8ed6d4a9 Bug 794912 - Remove dynamic privilege check in isCrossOriginAccessPermitted. r=mrbkap 2012-10-01 23:13:49 +02:00
Terrence Cole
ed25aa9d76 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
AutoAssertCanGC.  These will serve the purpose currently being served by
MaybeCheckStackRoots, but because they are lighter can be used throughout the
engine.
2012-09-26 18:07:44 -07:00
Jeff Walden
d294113376 Split up an assertion of x && y && z into separate asserts for x, y, and z, for easier at-a-glance understandings of failures should the assertion ever be hit. No bug, r=sparky
--HG--
extra : rebase_source : a110a0bfce4eecb0c47cba054cb858223f75acf4
2012-10-01 11:23:40 -07:00
Ms2ger
69bfc49741 Bug 795300 - Remove xpc_GetGlobalForObject; r=bholley 2012-10-02 10:24:11 +02:00
Ms2ger
9728c472c5 Bug 795301 - Demacroize IS_{SLIM,WN}_WRAPPER{,_OBJECT}; r=bholley 2012-10-02 10:24:11 +02:00
Ms2ger
ddc2dbbc65 Bug 793116 - Remove nsISupports argument to xpc_CreateGlobalObject; r=bholley 2012-10-02 10:24:11 +02:00
Ms2ger
ea6699a96d Bug 793482 - Use xpc::GetCompartmentPrivate in a few more places; r=bholley 2012-10-02 10:24:11 +02:00
Ms2ger
82dca59cca Bug 780151 - Part b: Don't hand out ThisTranslators; r=bz 2012-10-02 10:24:08 +02:00
Ms2ger
4bde9a8fcd Bug 780151 - Part a: Remove unused arguments to TranslateThis; r=bz 2012-10-02 10:22:32 +02:00
Ms2ger
052582276b Bug 780146 - Part d: Inline mozilla::dom::binding::DefineConstructor; r=bz 2012-10-02 10:07:36 +02:00
Norbert Lindenberg
c6fc6748a6 Bug 795743 - Fix misc rooting analysis errors on test402; r=terrence
A few fixes resulting from running test402 with rooting verification mode.

--HG--
extra : rebase_source : 0a13ea3d2930ce97ee75dd0d792674b58a06b53c
2012-09-30 12:51:00 -07:00
Peter Van der Beken
2561b4b1e6 Fix for bug 791774 (Hook DOM lists up to the new DOM bindings). r=bz.
--HG--
extra : rebase_source : 873020edd9cd3defc932d77bd26b5d65ebf263cb
2012-06-13 17:18:30 +02:00
Peter Van der Beken
931a931c83 Fix for bug 791347 (Support non-nsISupports refcounted natives and non-refcounted natives in new DOM bindings). r=bz/smaug.
--HG--
extra : rebase_source : cd6d98461d7fa3a07fa1361b4d840448122b6655
2012-09-19 15:02:37 +02:00
Nicholas Nethercote
7bb7586264 Bug 795765 - Fix "used but never defined" warning for JSObject::asString(). r=jwalden. 2012-09-30 17:04:32 -07:00
Kannan Vijayan
ad138984ba Bug 786126 - part 2 - Skip IC generation for GetElems of int32 indexes on non-native objects. (r=dvander) 2012-09-30 15:18:47 -04:00
Kyle Huey
6dc54b8e20 Bug 792625: Fix xpcshell to accept non-ASCII command line arguments on Windows. r=bsmedberg 2012-09-30 09:45:05 -07:00
Ryan VanderMeulen
abbf906749 Backout 12465a1211e0 (bug 789897) for landing without addressing all review comments. 2012-09-30 12:12:47 -04:00
Eddy Bruel
df84ae2f04 Bug 789897 - Implement the preventExtensions trap for proxies; r=jorendorff 2012-09-30 18:01:13 +02:00
Eddy Bruel
b0c7bef027 Bug 787856 - Use static JSObject::getProto in proxy code; r=wmccloskey 2012-09-30 17:51:26 +02:00
Nicolas B. Pierron
e3a2c4fa27 Bug 794286 - ReconstructPcStack, Keep hidden stack depth only when following gotos. r=luke 2012-09-29 03:42:04 -07:00
Nicolas B. Pierron
703212a4f5 Bug 787848 - Handle JSOP_THROWING opcode in the decompiler. r=luke 2012-09-29 03:42:04 -07:00
Nicolas B. Pierron
10d4f193a6 Bug 787309 - Fallback on try notes after continuing on a goto. r=luke 2012-09-29 03:42:04 -07:00
Nicolas B. Pierron
e22c872e63 Bug 777583 - Add caller/callee use count ratio to balance inlining cost. r=djvj 2012-09-29 00:50:58 -07:00
Gregory Szorc
a86ac496ac Bug 795499 - Export ANDROID_CPU_ARCH via AC_SUBST. r=glandium 2012-09-29 00:49:24 -07:00
Nicolas B. Pierron
cbec12046b Backout a2843362ce9b (Bug 786126) - Are we fast yet regression. 2012-09-28 22:58:53 -07:00
Nicolas B. Pierron
d5f869d975 Backout 44465ef545e3 (Bug 786126) - Are we fast yet regression. 2012-09-28 22:58:10 -07:00
Inder Kumar ext:(%20and%20Mike%20Habicher%20%3Cmhabicher%40mozilla.com%3E)
796bda9b42 Bug 776062: Add support for recording video on gonk. r=cjones,double,ikumar,mikeh sr=sicking 2012-09-28 22:30:52 -07:00
Ed Morley
b04d9d0daf Backout b176f299c52c (bug 794286), 0401e945059d (bug 787848), 95c4704589e1 (bug 787309) for make check jit_test failures on a CLOSED TREE 2012-09-29 01:00:46 +01:00
Ed Morley
1a93bf6109 Backout 564d554c4318 (bug 792220) for M2 JS assertions on a CLOSED TREE 2012-09-29 00:53:43 +01:00
Ed Morley
a36fd760db Backout 67f93efc40c8 (bug 777583) for compilation errors on a CLOSED TREE 2012-09-29 00:23:07 +01:00
Nicolas B. Pierron
d7c6f0f370 Bug 777583 - Add caller/callee use count ratio to balance inlining cost. r=djvj 2012-09-28 16:10:07 -07:00
Nicolas B. Pierron
f85ae576fe Bug 794286 - ReconstructPcStack, Keep hidden stack depth only when following gotos. r=luke 2012-09-28 15:56:29 -07:00
Nicolas B. Pierron
33682dd25b Bug 787848 - Handle JSOP_THROWING opcode in the decompiler. r=luke 2012-09-28 15:56:28 -07:00
Nicolas B. Pierron
1b5c407cbf Bug 787309 - Fallback on try notes after continuing on a goto. r=luke 2012-09-28 15:56:28 -07:00
Nicolas B. Pierron
098d4c3660 Bug 792220 - Remove lookupProperty to prevent interpreter reentrance. r=jandem
--HG--
extra : rebase_source : bfc435b06d38c488f82c5c5a9a647c86b4e079ef
2012-09-28 15:47:46 -07:00
Kannan Vijayan
420b7ab0c5 Bug 786126 - part 3 - Allow null/undefined in typeset of target object of Ion ICs. (r=dvander) 2012-09-28 18:15:47 -04:00
Kannan Vijayan
8a051e5212 Bug 786126 - part 2 - Skip IC generation for GetElems of int32 indexes on non-native objects. (r=dvander) 2012-09-28 18:14:39 -04:00
David Anderson
97d0058a2f Disable TypeInference on ARMv6 builds (bug 793740, r=mjrosenb).
--HG--
extra : rebase_source : e22635a39985ee2759372751e49ac836268edddc
2012-09-28 12:11:50 -07:00
Isaac Aggrey
997db4d142 Bug 791906: Replace NSPR integer limit constants with stdint ones; r=ehsan 2012-09-28 01:57:33 -05:00
Kannan Vijayan
b199714c73 Bug 768126 - patch 1 - Add ION exit frame type for OOL calls to PropertyOp. (r=jandem) 2012-09-28 11:06:45 -04:00
Ed Morley
ce41594120 Merge mozilla-central to mozilla-inbound 2012-09-28 16:01:22 +01:00
Ed Morley
195be4c4f1 Merge last PGO-green changeset of mozilla-inbound to mozilla-central 2012-09-28 15:49:57 +01:00
Bill McCloskey
45335d1753 Bug 794947 - Add check for lazy proto in ion code (r=dvander) 2012-09-27 20:20:11 -07:00
Phil Ringnalda
e587aae42c Back out b24a73b2c617 for Windows build bustage and test_xhr_timeout.html failure 2012-09-27 21:24:42 -07:00
Mark Banner
bae8a10dfb Bug 793580 - Part 1: Use unsigned types in ExceptionArgParser::parseResult; r=ehsan
--HG--
extra : rebase_source : 456e3643b4d5cac96d2c6f0435581e9502037c79
2012-09-27 14:19:06 -04:00
Andrea Marchesini
7f0785e84a Bug 720083 - Workers: add support for transferable objects from HTML5 spec. r=sphink, r=bent 2012-09-27 23:05:59 -04:00
Nicolas B. Pierron
8e88d60882 Bug 793905 - Prevent JM recompilation when generating Ion stubs. r=dvander 2012-09-27 12:18:02 -07:00
Makoto Kato
222556a3d5 Bug 786579 - Remove old MSVC (<=2003) support. r=khuey 2012-09-28 16:02:40 +09:00
Aryeh Gregor
d70547f8d3 Bug 779809 part 1 - Make [notxpcom] attributes an error; r=khuey 2012-08-09 11:31:14 +03:00
Jan de Mooij
cfc42ac419 Bug 794475 - Inline "new String(x)". r=dvander 2012-09-27 12:45:55 +02:00
Tom Schuster
31e3c78fc6 Bug 789111 - Add inline path for LIntToString. r=jandem 2012-09-27 12:41:48 +02:00
Nicholas Nethercote
a9b7f089d4 Bug 791611 (part 3) - Exactly root most JSScripts in jsinfer.cpp. r=terrence.
--HG--
extra : rebase_source : c675efbd7e628742e59cd14ae91ab8998d3dfc5c
2012-09-16 16:32:06 -07:00
Terrence Cole
2e190097bf Bug 794700 - Remove a test exercising dead code; r=billm
--HG--
extra : rebase_source : 6a63c08d2c5e1561c8273c0bcca1e5f7a9f6f94d
2012-09-26 18:04:35 -07:00
Eric Faust
29e32d6fb7 Bug 793284 - Use non-freezing checks in TestCommonPropFunc() to avoid bogus invalidations. (r=djvj) 2012-09-26 19:02:56 -04:00
Eric Faust
30183ad75c Bug 792166 - Fix incorrect handling of |delete| in common accessor checking. (r=djvj) 2012-09-26 19:02:56 -04:00
Terrence Cole
7b707cf94e Bug 793823 - Exactly root Bindings when on the stack; r=billm
Currently, we rely on the marking of the origin script to keep the stack
binding's data live. This will not work with a moving GC.
2012-09-24 15:18:34 -07:00
Steve Fink
644ee82385 Bug 794494 - Clear the right buffer link when pruning and reversing the list of ArrayBufferViews. r=billm 2012-09-26 14:24:37 -07:00
Sean Stangl
1e3fd51930 Bug 794025 - Detect IC purging in JM generateNativeStub(). r=dvander 2012-09-26 14:53:16 -07:00
Terrence Cole
daa912f873 Bug 794365 - Correctly finalize StaticStrings; r=billm
The StaticStrings were getting kept alive past the final GC.  This did not
matter before because we never needed to free external characters.  With
uninlining this assumption is no longer true.

--HG--
extra : rebase_source : 6d40aa130c582366f2effe16b5af67157824e37f
2012-09-26 14:17:55 -07:00
Terrence Cole
68f1a7379e Bug 791322 - Move Rooted to js:: namespace; r=billm
These should not be part of the public API.

--HG--
extra : rebase_source : 00a69ee54f06e3f557cd9ec2f3b059df10aa32df
2012-09-24 18:08:22 -07:00
Bill McCloskey
b30e41fd01 Bug 787856 - Use lazy protos for cross-compartment wrappers (r=bholley) 2012-09-03 16:42:22 -07:00
Bill McCloskey
2e75082f62 Bug 787856 - Convert JS_GetPrototype to support lazy protos (r=bhackett) 2012-09-03 16:42:17 -07:00
Bill McCloskey
88913893e5 Bug 787856 - Convert js::GetObjectProto to support lazy protos (r=bhackett) 2012-09-03 16:42:10 -07:00
Bill McCloskey
8d91040b33 Bug 787856 - Initial support for lazy prototypes (r=bhackett) 2012-09-26 09:49:20 -07:00
Kannan Vijayan
8adaf120df Bug 790051 - Add IonMonkey OOLNativeGetterExitFrame to support callouts to native getters from OOL IC stubs. (r=jandem) 2012-09-26 12:05:50 -04:00
Makoto Kato
10e687271c Bug 793583 - Remove WINCE related code from js/src. r=luke 2012-09-26 15:48:41 +09:00
Makoto Kato
038020cd78 Bug 697064 - Remove MOZ_CHECK_HEADERS(mmintrin.h) from configure.in. r=khuey 2012-09-26 15:48:29 +09:00
Ryan VanderMeulen
dbf93bfaec Backout bug 792215 for suspected Windows m-oth leaks.
CLOSED TREE
2012-09-25 22:40:56 -04:00
Bill McCloskey
e79a3db5c5 Bug 779073 - Don't treat GC verifier as an incremental GC (r=terrence) 2012-09-25 17:04:17 -07:00
Ehsan Akhgari
697bec41a5 Bug 793294 - Implement AudioBuffer; r=bzbarsky,smaug
This is the full implementation of the AudioBuffer object.  There are
two ways to create these objects from an audio context and this patch
implements only one of them.

The construction of the AudioBuffer object is a two step process: the
object should be created with operator new first, and then
InitializeBuffers should be called on it.  InitializeBuffers is
fallible, because it uses the JS API to create the underlying typed
arrays, but that's fine, since the length of the buffers comes from web
content, and we don't want to use infallible allocations for those
anyways.

We hold on to the JS objects from the C++ implementation, and trace
through all of those objects, so that a GC does not kill those object
without us knowing.

The buffer should be possible to manipulate from both C++ and JS, and
the C++ object probably needs to support a set of methods for the C++
callers at some point.
2012-09-25 17:58:50 -04:00
Kannan Vijayan
72b7fa4f82 Bug 792215 part 2. Convert old proxy bindings to JSNative getters and setters. r=peterv,ejpbruel 2012-09-25 14:44:40 -04:00
Boris Zbarsky
84dda56591 Bug 792215 part 1. Convert quickstubs to using JSNative getters and setters. r=peterv 2012-09-25 14:44:40 -04:00
Benjamin Peterson
9108040db8 Bug 794065 - Fix array literals with spread and holes at the end. r=jorendorff 2012-09-25 14:30:37 -04:00
Steve Fink
19c3c04632 Bug 762908 followup - only null out window.SpecialPowers when window exists. r=terrence
--HG--
extra : rebase_source : 4a894ddf5036e42870573db212e056012f35829e
2012-09-25 11:17:47 -07:00
Steve Fink
832bf5c291 Bug 789295 - Add special multi-view array buffer sweep pass to eliminate finalizers and thus allow background sweeping. r=billm
--HG--
extra : rebase_source : f71b9546ad3e511fb2a32d8bc24f39ec70e2f630
2012-09-18 09:58:36 -07:00
Steve Fink
8a76dabf44 Bug 789295 - Make a BufferView superclass for ArrayBufferView types to enforce common slot numbers. r=billm
--HG--
extra : rebase_source : ac621999a9bc45bda2ea3c379a887a1dc5764772
2012-09-11 16:47:22 -07:00
Steve Fink
055c1fba2c Bug 789295 - Reformat class method declarations to look like rest of spidermonkey. r=billm
--HG--
extra : rebase_source : 3dedf219ae696b70136d83888522dda95845a578
2012-09-18 09:58:36 -07:00
Steve Fink
d9dd6003bf Bug 791573 - Finalize ArrayBuffers in the background. r=billm
--HG--
extra : rebase_source : 15fdc10c2208b0d49b822ac1ac1d5e78682bc697
2012-09-18 09:58:36 -07:00
OHZEKI Tetsuharu
b810714776 Bug 791944 - Use Object.defineProperty() instead of __defineGetter__ in XPCOMUtils.defineLazyGetter(). r=mak77 2012-09-25 11:04:25 -04:00
Jan de Mooij
94b8aa3d7d Bug 792944 - Idempotent caches should reject singleton properties that require monitoring. r=dvander 2012-09-25 16:16:46 +02:00
Benjamin Peterson
e4341d9607 Bug 793513 - Only set properties on the rest array if it doesn't have unknown ones. r=jandem 2012-09-25 09:21:40 -04:00
Benoit Jacob
2249060a44 Bug 750862 - Implement WEBGL_compressed_texture_pvrtc - r=jgilbert 2012-09-25 08:49:28 -04:00
Benoit Jacob
d4fa48d92a Bug 790712 - Implement WEBGL_compressed_texture_atc - r=jgilbert 2012-09-25 08:49:28 -04:00
Mike Hommey
2729e13909 Bug 792685 - Add a way to have automagically inherited variable definitions in Makefiles. r=ted 2012-09-25 14:47:20 +02:00
Mike Hommey
fb05de0176 Bug 793634 - Force builds to be compatible with gtk 2.18/glib 2.22. r=karlt 2012-09-25 14:47:18 +02:00
Ted Mielczarek
8196a1cdce bug 792391 - Add a TARGET_LOCAL_INCLUDES variable to be used for compiling target sources only, not host sources. r=glandium 2012-09-20 09:46:04 -04:00
Nicholas Nethercote
b7796202d5 Bug 793588 (part 2) - Exactly root jsiter.{cpp,h}. r=sfink.
--HG--
extra : rebase_source : ffdd302bbad433d6a67e7b7ff8b631600c4a3594
2012-09-23 20:53:27 -07:00
Nicholas Nethercote
751ccd5f33 Bug 793588 (part 1) - Remove vacuous JSObject* parameter to Enumerate() et al. r=sfink.
--HG--
extra : rebase_source : 04aa15327f3040b19080dd8be5c169eef56ca4ca
2012-09-20 23:42:44 -07:00
David Anderson
1797f8a7f2 Use js_free on fresh slots instead of js_delete (bug 793385, r=billm). 2012-09-24 14:41:00 -07:00
David Anderson
6d84c2ecbd Fix slot computation bug in newCallObject (bug 793257, r=luke). 2012-09-24 13:48:21 -07:00
Bobby Holley
9f03f90fb7 Bug 792036 - Automated fixups. r=mccr8
find /files/mozilla/build/d/_tests/testing/mochitest/tests/ | egrep "\.(xhtml|html|xml|js)$" | grep -v SimpleTest | grep -vi mochikit | grep -v simpleThread | grep -v test_ipc_messagemanager_blob.html | grep -v "indexedDB/test" | xargs grep -l Components |  xargs grep -L enablePrivilege | perl -pe 's#.*mochitest/tests/##' | xargs perl -p -i.bakkk -e 's/Components\.interfaces(\s|;|\.|\[)/SpecialPowers\.Ci$1/g, s/SpecialPowers\.wrap\(Components\)\.(.)(lasses|tils|nterfaces|esults)/SpecialPowers.C$1/g, s/(?<![\.a-zA-Z])Components/SpecialPowers\.Components/g, s/window\.Components/window\.SpecialPowers\.Components/g'
2012-09-24 14:46:29 +02:00
Bobby Holley
7f912ddc79 Bug 792036 - Fix up tests to avoid relying on the existence of window.Components (MANUAL). r=mccr8
These are the manual fixes that the ensuing auto-generation can't deal with. Some of them
just fix up formatting (such as Components.\nFoo, so that subsequent auto-generation can
work better).
2012-09-24 14:46:28 +02:00
Bobby Holley
2edff93f2c Bug 792036 - Fix sandbox xpcshell tests. r=gabor
I want gabor to look at these.
2012-09-24 14:46:28 +02:00
Bobby Holley
515994bfb3 Bug 792036 - Add a SpecialPowers API to provide access to the Components object in various forms. r=mrbkap,ted
Now that window.Components is no longer acccessible to page JS, we need a way
to access it in mochitests. So this patch provides SpecialPowers.Components,
which is the bonafide Components object for the window upon which SpecialPowers
is defined. It also provides SpecialPowers.{Cc,Ci,Cr,Cu}, which are SpecialPowers-wrapped
versions of their respective sub-objects (with the exception of Ci, which is unwrapped).
2012-09-24 14:46:27 +02:00
Bobby Holley
847e24f9c1 Bug 792036 - Factor out glue code to get the JS Components object for a scope. r=mrbkap 2012-09-24 14:46:27 +02:00
Bobby Holley
98ac4b534a Bug 792036 - Refactor AttachComponentsObject API to allow an explicit target. r=mrbkap
The aGlobal API is currently unnecessary, since it should always be equal to the global obtained from the scope. But we'll want to manually specify the target object in subsequent patches, so make it an optional argument that's currently never passed.
2012-09-24 14:46:27 +02:00
Bobby Holley
6fdb3137fc Bug 783702 - Call through to get() for hasPrototype() path in getElementIfPresent(). r=ejpbruel 2012-09-24 12:05:50 +02:00
Nicholas Nethercote
4055fa6ad2 Bug 793086 (part 2) - Remove jsproto.tbl. r=jwalden.
--HG--
extra : rebase_source : b72b37267e5f26f2ab1e52d90673745124c760ae
2012-09-20 23:00:08 -07:00
Nicholas Nethercote
db6466781a Bug 793086 (part 1) - Convert JSClassInitializerOp parameter to HandleObject. r=sfink.
--HG--
extra : rebase_source : e8d20aad8abc0bf85df1f05e90be1ce46e8f0125
2012-09-20 22:17:49 -07:00