Bobby Holley
2ecc616617
Bug 830500 - Implement JS_CharsToId. r=Waldo
2013-01-28 14:46:10 +01:00
Ed Morley
4083c0c3a6
Backout 3985cb4da6b6, 55ab9f026dc4, f7ead00b7654 and e2108ea96ae5 for a variety of build failures on a CLOSED TREE
2013-01-28 12:19:12 +00:00
Bobby Holley
04380ee844
Bug 830500 - Implement JS_CharsToId. r=Waldo
2013-01-28 12:44:04 +01:00
Ed Morley
19dd19ed37
Backout f3c145bd1dd2 & 5075690572a9 for OS X startup failures
2013-01-28 11:08:21 +00:00
Hannes Verschore
bed7142df1
Bug 824473: OOM fixes for IonBuilder, r=jandem
2013-01-27 23:40:01 +01:00
Peter Van der Beken
18764acd4b
Fix for bug 715156 (JS code no longer work for select options as array in a Greasemonkey script (index and name setters don't really work via XrayWrapper)). r=bz.
...
--HG--
extra : rebase_source : 6bc420bd917e00a49dc5f6f3de13ff9e290c9580
2013-01-14 11:29:48 +01:00
Kyle Machulis
8a6e862a23
Bug 777271 - Re-implement nsIDOMCallEvent using event implementation codegen. r=bent,vicamo,hsinyi
2013-01-28 15:39:50 +08:00
Benjamin Peterson
6ed6fc32ce
Add test for bug 831846.
2013-01-27 21:43:04 -05:00
Matt Brubeck
94bda6fb66
Bug 792509 - Allow Metro builds on non-Windows platforms [r=jimm]
2013-01-26 23:45:27 -08:00
Bill McCloskey
f2cef1ae58
Bug 824473 - Fix build errors (r=bustage)
2013-01-27 14:38:43 -08:00
Bill McCloskey
c531bb0681
Bug 751618 - Zone renaming comment fix (r=jonco)
2013-01-27 13:51:41 -08:00
Bill McCloskey
7d3dd6fcc2
Bug 751618 - Zone renaming part 9 (r=terrence)
2013-01-27 13:51:41 -08:00
Bill McCloskey
9103b40eaa
Bug 751618 - Zone renaming part 8 (r=terrence)
2013-01-27 13:51:41 -08:00
Bill McCloskey
fb226611b8
Bug 751618 - Zone renaming part 7 (r=jonco)
2013-01-27 13:51:41 -08:00
Bill McCloskey
1bcde179fe
Bug 751618 - Zone renaming part 6 (r=terrence)
2013-01-27 13:51:41 -08:00
Bill McCloskey
d0f6f88209
Bug 751618 - Zone renaming part 5 (r=jonco)
2013-01-27 13:51:40 -08:00
Bill McCloskey
4d504d5fcc
Bug 751618 - Zone renaming part 4 (r=terrence)
2013-01-27 13:51:40 -08:00
Bill McCloskey
21a6533242
Bug 751618 - Zone renaming part 3 (r=jonco)
2013-01-27 13:51:40 -08:00
Bill McCloskey
fbf07135dc
Bug 751618 - Zone renaming part 2 (r=jonco)
2013-01-27 13:51:35 -08:00
Bill McCloskey
605d86938d
Bug 751618 - Zone renaming part 1 (r=jonco)
2013-01-27 12:37:18 -08:00
Bill McCloskey
ccebe621d8
Bug 751618 - Fix assertions in ResetIncrementalGC (r=jonco)
2013-01-27 12:35:42 -08:00
Bill McCloskey
0b41061a2c
Bug 751618 - Add js/GCAPI.h (r=terrence)
2013-01-27 12:35:12 -08:00
Hannes Verschore
f5e35646f0
Bug 824473: Nits + fix for ARM builds, r=dvander
2013-01-27 23:11:56 +01:00
Hannes Verschore
cde98606a0
Bug 834500: IonMonkey: Don't forbid ion compilation when JM is disabled and bouncing between IM and the interpreter, r=nbp
2013-01-27 22:51:49 +01:00
Hannes Verschore
4bdaeab64b
Bug 824473: IonMonkey: Enable inlining of JSOP_FUNAPPLY, r=dvander
2013-01-27 22:51:41 +01:00
Hannes Verschore
214da5ec02
Bug 824473: IonMonkey: Remove use of monitoredTypesReturn to decide when inlining calls, r=dvander
2013-01-27 22:51:32 +01:00
Hannes Verschore
3576eb2f5e
Bug 824473: IonMonkey: Structural changes to IonBuilder, r=dvander
2013-01-27 22:51:26 +01:00
Benjamin Peterson
7ac4b2a3a7
Bug 831846 - Enter a script global's compartment before running the expression decompiler on it. r=billm
2013-01-27 15:16:01 -05:00
Brian Hackett
b6034da246
Bug 832364 - Generate optimized paths for element accesses on native objects, r=jandem.
2013-01-26 13:21:27 -07:00
Jan de Mooij
729b011066
Bug 825379 - Fix JSContext::findVersion to work with Ion frames. r=dvander
2013-01-26 16:40:06 +01:00
Tom Schuster
079a777643
Bug 830787 - Move jsscope to vm/Shape. r=jorendroff
...
--HG--
rename : js/src/jsscopeinlines.h => js/src/vm/Shape-inl.h
rename : js/src/jsscope.cpp => js/src/vm/Shape.cpp
rename : js/src/jsscope.h => js/src/vm/Shape.h
2013-01-26 16:03:19 +01:00
Brian Hackett
cb0fe1f1ed
Bug 834826 - Eliminate or refactor various unnecessary stack roots, r=terrence.
2013-01-26 07:42:20 -07:00
Jeff Walden
5962e7f0d7
Bug 830257 - Compute the local time zone offset, not including any offset due to DST, in a different, hopefully more correct, way. r=dmandelin
2013-01-25 22:02:55 +00:00
Sean Stangl
7a33f380cb
Bug 834762 - yarr/MatchResult.h:58:44: warning: overflow in implicit constant conversion [-Woverflow]. r=warning-spam
...
From 29c3e8f8ef230a27d2bce0016094b43f812befe0 Mon Sep 17 00:00:00 2001
---
js/src/yarr/MatchResult.h | 2 +-
js/src/yarr/YarrJIT.cpp | 6 +++---
2 files changed, 4 insertions(+), 4 deletions(-)
2013-01-25 16:34:08 -08:00
Nicholas D. Matsakis
4d28b780c5
Bug 825714 followup: Silence various warnings and make various style corrections. r=billm
2013-01-25 14:09:25 -08:00
Joey Armstrong
ba59dca059
bug 747540: fix dependencies for java build
2013-01-25 15:22:13 -05:00
Kannan Vijayan
ff447a1192
Bug 834447 - Make Ion entry use AbstractFramePtr instead of StackFrame*. r=sstangl
2013-01-25 11:34:47 -05:00
Jan de Mooij
223b6a2efc
Bug 833817 part 3 - Replace JSStackFrame with JSAbstractFramePtr. r=luke
2013-01-25 09:49:29 +01:00
Jon Coppeard
49c07872fb
Bug 815542 - crash in IncrementalCollectSlice r=billm
...
--HG--
extra : rebase_source : d751b3684f6461b094278aa39508417928c2b660
2013-01-25 09:56:04 +00:00
Bobby Holley
29dd20ec7d
Bug 833856 - Handle errors better in EvaluateString. r=bz
...
This bug happens when we take the !useSandbox path. Basically, when the code
throws, we can end up with garbage in *aRetValue while still returning true
from EvaluateString. It looks like the convention is for these kind of eval
functions to return success even for invalid code, so lets just make sure we
check things a bit better.
This crashtest is kind of half-baked in the sense that it doesn't actually
crash without the rest of the patch. But the testcase here involves a lot of
undefined behavior (what ends up getting left in *aRetValue) during a call
to window.open (which spins the event loop, etc). I already sunk about half
an hour into trying to make it crash, so I'm just going to go with this for
now.
2013-01-25 11:17:40 +01:00
Nicholas D. Matsakis
ed68c62ba6
Bug 825714: Refactor JS allocation routines to enable allocation on parallel
...
threads, and move various ion fields into per-thread-data. r=billm
More detailed:
- A new routine JSObject::parExtendDenseArray() that permits parallel code to
allocate a dense array on its own Allocator.
- Create an allocation path in the GC for loading a fresh arena as needed
(ArenaLists::parallelAllocate()).
- Ensure that if GC is triggered during parallel execution, parallel execution
is aborted and the request is deferred until parallel execution terminates.
- Updates to the ForkJoin/ThreadPool so that they create their own Allocators
as well as other misc API changes.
- Moves some of the ion-related fields (e.g., |ionTop|) into perThreadData.
- Remove out-of-date malloc tracking fields.
2013-01-24 21:12:44 -08:00
Ryan VanderMeulen
a7a5d49950
Merge m-c to inbound.
2013-01-24 22:47:56 -05:00
Makoto Kato
112057edfd
Bug 830676 - YarrJIT is broken on Win64 after landing bug 820124. r=sstangl
2013-01-25 12:09:54 +09:00
Ryan VanderMeulen
a3bab2ee76
Merge the last PGO-green inbound changeset to m-c.
2013-01-24 20:59:19 -05:00
Mike Hommey
89c730eda8
Bug 834429 - Re-export MACOSX_DEPLOYMENT_TARGET after bug 833627. r=ted
2013-01-24 22:11:28 +01:00
Brian Hackett
ca7794f586
Bug 834242 - Reduce cost of exact stack rooting during property reads, r=terrence.
2013-01-24 20:18:34 -07:00
Ryan VanderMeulen
9e48ac7478
Merge m-c to inbound.
2013-01-24 21:09:59 -05:00
Jon Coppeard
56379a5cec
Bug 833396 - Fix some rooting issues found by static analysis r=sphink
2013-01-21 17:41:49 +00:00
Nicholas Nethercote
d39f7209a7
Bug 833151 - Avoid unnecessary copy of CompileOptions. r=benjamin.
...
--HG--
extra : rebase_source : 542536e11e35f31bec2c5811bcfc56e491d6358a
2013-01-23 18:14:38 -08:00
Steve Fink
5e9026f643
Bug 831961 - fix jsapi-tests rooting hazards from static analysis. r=terrence
...
https://tbpl.mozilla.org/?tree=Try&rev=3938c588e1d1
--HG--
extra : rebase_source : c566e3137bca925c7c4789bcd477d0cd85fc366e
2013-01-17 11:45:51 -08:00
Brian Hackett
2e31689f1f
Bug 832972 - Reduce cost of exact stack rooting during name operations, clean up some GC allocation methods, r=terrence.
2013-01-23 15:22:10 -07:00
Daniel Holbert
59d3cc8e96
Back out 06d0d20fbaf1 (bug 825379) for apparently causing bc perma-orange.
2013-01-23 13:07:06 -08:00
Brian Hackett
69be3b2cf0
Bug 832360 - Store an object's class as part of its type, r=jandem.
2013-01-23 12:57:55 -07:00
Jan de Mooij
325a0b3ab7
Bug 825379 - IonMonkey: Differential Testing: Getting different output w/without --ion-eager with forEach. r=dvander
2013-01-24 14:10:53 -05:00
Jason Orendorff
cc41ea5ad3
Bug 790629 - Fix the value of this in generator-expressions. r=Waldo.
2013-01-07 12:22:26 -06:00
Jason Orendorff
537b7acfbd
Bug 828466 - Remove some ParseNode morphing. Part 3, ParseNode::append. r=Waldo.
2013-01-15 18:57:26 -06:00
Jason Orendorff
60051f4294
Bug 828466 - Remove some ParseNode morphing. Part 2, empty statements. r=Waldo with apparently successful fuzz-testing.
2013-01-15 18:57:26 -06:00
Jason Orendorff
5ea128ec16
Bug 828466 - Remove some ParseNode morphing. Part 1, FoldConstants. r=Waldo.
2013-01-15 16:12:15 -06:00
Jason Orendorff
e4aa88e1b7
Bug 825699 - jsapi-tests: Silence two bogus error reports to stderr. r=Waldo.
2013-01-07 12:22:25 -06:00
Eddy Bruel
550915d0b2
Bug 568953 - Fix for module object; r=benjamin
2013-01-23 16:58:50 +01:00
Brian Hackett
5be7eb70b7
Bug 832578 - Tweaks to improve compilation of element accesses, r=dvander.
2013-01-23 08:43:40 -07:00
Jacek Caban
dad2761641
Bug 831707 - Use -static-libgcc and -static-libstdc++ on mingw r=glandium
2013-01-23 16:04:34 +01:00
Ryan VanderMeulen
258ed8c88c
Merge m-c to inbound.
2013-01-24 07:09:10 -05:00
Mike Hommey
7ae3fc01fc
Bug 780561 - Remove now unused bits of the packaging scripts. r=ted
2013-01-23 11:23:15 +01:00
Jon Coppeard
f20ba2fd7a
Bug 833340 - Fix a couple of jittests failing with rooting analysis r=terrence
2013-01-22 17:03:05 +00:00
Jon Coppeard
519e8a2061
Bug 831750 - GC: testConservativeGC jsapi test fails with rooting analysis r=terrence a=nonlibxul
2013-01-21 11:00:29 +00:00
Jan de Mooij
cbe560bda6
Bug 830885 - Factor out interpreter/debugger exception unwinding code. r=jorendorff a=nonlibxul
2013-01-22 09:46:52 +01:00
Jan de Mooij
a4913b2eab
Bug 832950 - Remove frame annotations from SpiderMonkey. r=luke a=nonlibxul
2013-01-22 09:34:17 +01:00
Brian Hackett
5d34c466fc
Bug 832329 - Improve analysis of definite properties for 'new' scripts, r=jandem, a=nonlibxul.
2013-01-21 17:10:21 -07:00
Hannes Verschore
0b94fc1e7a
Bug 831087 - IonMonkey: Differential Testing: Getting different output w/without --ion-eager with /= r=mjrosenb a=nonlibxul
2013-01-21 13:26:26 -08:00
Jan de Mooij
6d48ca1b60
Bug 832373 part 1 - Refactor eval-in-frame to use AbstractFramePtr. r=luke
2013-01-21 13:58:50 +01:00
Nicholas Nethercote
0293b60b78
Bug 394311 - Stop building with -pedantic. r=ted,dbaron.
...
--HG--
rename : content/svg/content/nsISVGPoint.cpp => content/svg/content/src/DOMSVGPoint.cpp
rename : docshell/test/browser/browser_bug234628-9.js => docshell/test/browser/browser_bug134911.js
rename : layout/reftests/w3c-css/submitted/values3/calc-background-image-gradient-1-ref.html => layout/reftests/css-calc/background-image-gradient-1-ref.html
rename : layout/reftests/w3c-css/submitted/values3/calc-background-image-gradient-1.html => layout/reftests/css-calc/background-image-gradient-1.html
rename : layout/reftests/w3c-css/submitted/values3/reftest.list => layout/reftests/css-calc/reftest.list
rename : layout/reftests/text/auto-hyphenation-10-ref.html => layout/reftests/text/auto-hyphenation-10.html
rename : layout/reftests/text/auto-hyphenation-8-ref.html => layout/reftests/text/auto-hyphenation-8.html
rename : layout/reftests/text/auto-hyphenation-9-ref.html => layout/reftests/text/auto-hyphenation-9.html
extra : rebase_source : 012df725d55b031ccc03d9bfcf785056d95a2ebe
2013-01-20 14:12:42 -08:00
Jon Coppeard
bc5fbceb25
Bug 832363 - GC: Rooting updates to jsdate.cpp r=sphink
2013-01-18 17:36:24 +00:00
Mike Hommey
12c6ad28f8
Bug 833253 - Don't rely on eval during recursive expansion for nsinstall_is_usable. r=ted
2013-01-23 10:13:04 +01:00
Mike Hommey
045aa6ad61
Bug 833627 - Reject gcc < 4.4, and remove a few unused Xcode related variables. r=ted
2013-01-23 10:13:02 +01:00
Brian Hackett
ecff87a86d
Bug 821361 - Optimize type information in closures that only run once, r=luke.
2013-01-20 02:49:21 -07:00
Brian Hackett
cf01f4f12b
Bug 832425 - gcPreserveCode() should be defined when not using JS_GC_ZEAL, r=h4writer.
2013-01-19 17:30:05 -07:00
Steve Fink
d3f194fbfb
Bug 828753 - jsid rooting, mostly in jsinfer.*. Also switch JSObject from struct to class. r=terrence
2012-12-31 12:40:21 -08:00
Mike Hommey
95364307b9
Bug 831790 - Use the buildconfig python module for expandlibs_config. r=ted
...
--HG--
rename : config/expandlibs_config.py.in => config/expandlibs_config.py
rename : js/src/config/expandlibs_config.py.in => js/src/config/expandlibs_config.py
2013-01-19 09:45:50 +01:00
Brian Hackett
f390dd132a
Bug 832042 - Reduce cost of exact stack rooting during addition operations, r=terrence.
2013-01-18 20:35:08 -07:00
Bobby Holley
bc4863413b
Bug 823348 - Tests. r=mrbkap
...
We tack these onto the tests from bug 812415, adding coverage for
nsExpandedPrincipal and making sure that the waivers are deep.
We also take the opportunity to check the asymmetric security
relationship between a principal and its corresponding nsEP.
2013-01-23 06:04:39 +01:00
Bobby Holley
ded682bc4a
Bug 823348 - Stop checking for Xray waivers in the Xray machinery. r=mrbkap
...
All the casese where we want to waive should now be going through WaiveXrayWrapper.
2013-01-23 06:04:39 +01:00
Bobby Holley
4e3138cf29
Bug 823348 - Replace security wrapper enumeration with a more rule-based approach. r=mrbkap
2013-01-23 06:04:39 +01:00
Bobby Holley
f7f57d1c83
Bug 823348 - Hoist special cases to the top of WrapperFactory::Rewrap. r=mrbkap
...
This paves the way for more rule-based selection of wrappers in the common case.
2013-01-23 06:04:39 +01:00
Bobby Holley
0d89c821ca
Bug 823348 - Move COW prototype remapping out of wrapper selection. r=mrbkap
...
It's pretty orthogonal, and makes the critical block more complicated than it
needs to be.
2013-01-23 06:04:39 +01:00
Bobby Holley
08c058f711
Bug 823348 - Precompute various parameters in Rewrap. r=mrbkap
...
This is generally cleaner, and avoids potentially calling these functions
multiple times when we start moving this stuff around.
2013-01-23 06:04:39 +01:00
Bobby Holley
39b3f7c72e
Bug 823348 - Use GetXrayType for content->chrome Xray wrappers. r=mrbkap
...
There's no reason to do this any different than we do for XOWs and such. The
only thing this might conceivably support would be certain chrome XPWNs-as-COWs.
But that would require that they forced a parent in precreate without being
flagged as DOM objects in classinfo. And it's not clear why we'd want to support
that. And we're generally moving away from COWs anyway.
2013-01-23 06:04:39 +01:00
Bobby Holley
69822a012d
Bug 823348 - Use EnsureCompartmentPrivate In Rewrap and stop checking for null. r=mrbkap
2013-01-23 06:04:39 +01:00
Bobby Holley
c3882ecf88
Bug 823348 - Flip off the wantXrays for chrome sandboxes. r=mrbkap
...
wantXrays means that the sandbox wants Xray wrappers even when accessing same-
origin content. The default is true, which Blake says has something to do with
GreaseMonkey and days of old.
This flag never had an effect for chrome, because the chrome->chrome case always
short-circuited to &CrossCompartmentWrapper::singleton. But once we start
respecting the flag as a general-purpose indicator that Xrays should be applied
same-origin, we need to either add a special case in Rewrap or make the flag reflect
reality. The latter seems cleaner and more sane.
However, things are complicated by the fact that there's also a completely different,
orthogonal usage, whereby setting wantXrays to false implicitly waives Xray on the
returned sandbox _and_ on any results returned from evalInSandbox. This is just nuts.
The former can be accomplished by callers manually using .wrappedJSObject, and the
latter by having EvalInSandbox transitively apply waivers from their sandbox arguments.
I've updated the documentation on the MDN page so that it only describes the
reasonable usage. The next step is to get rid of the crazy behavior. I think the
best path of migration is to have wantXrays: false keep implicitly waiving, but
waive return values from EvalInSandbox based on whether the argument was waived. This
patch does that.
2013-01-23 06:04:39 +01:00
Bobby Holley
44a21fc15a
Bug 823348 - Make NNXOWs use an explicitly opaque Policy. r=mrbkap
...
There's no reason to be doing a dynamic check here, given that the JSClasses
will never match. Lets be explicit and safe.
2013-01-23 06:04:38 +01:00
Bobby Holley
ddece7045a
Bug 823348 - Do a better job of lying about the holder and make assertions fatal. r=mrbkap
...
I noticed this nonfatal assertion firing, unrelated to my patches. Leaking
the holder is not so great. Let's fix this for real.
2013-01-23 06:04:38 +01:00
Bobby Holley
d0a9794947
Bug 823348 - Remove broken and unused __scriptOnly__ check. r=mrbkap
...
__scriptOnly__ is unused on mxr and addons-mxr. Morevoer, the current
implementation is totally broken, because we check for NNXOW, which only
happens when a random content JS object ends up in some other cross-origin
scope (via addons, presumably), whereas chrome objects use ChomeObjectWrapper.
I'm soon going to replace SCRIPT_ACCESS_ONLY with checked unwrapping, and mark
all COWs as unsafe to unwrap (see bug 821573 and bug 658909). So let's just kill
this thing here.
2013-01-23 06:04:38 +01:00
Bobby Holley
c0cc2fa626
Bug 823348 - Don't set universalXPConnectEnabled for chrome compartments. r=mrbkap
...
There's a browser-chrome test that does this, which means that _all_ subsequent
browser-chrome tests inherit it. So depending on the ordering of cases in
WrapperFactory, we might end up using a CrossCompartmentWrapper rather than an
XrayWrapper, meaning that stuff like nodePrincipal doesn't work anymore.
The semantics of UniversalXPConnect are now entirely dicatated by what makes
our test suite go green. So let's not force ourselves to bend over backwards
during wrapping to handle this case. And let's fix that stupid test while
we're at it.
2013-01-23 06:04:38 +01:00
Bobby Holley
71cfd0816b
Bug 823348 - Uninline UniversalXPConnect management. r=mrbkap
...
Every time the layout of CompartmentPrivate changes, I forget to rebuild in
caps/ and spend half an hour wondering what the heck is going on. :-(
2013-01-23 06:04:38 +01:00
Ehsan Akhgari
94b2981ab9
Bug 833631 - Unprefix mozAudioContext; r=roc
...
--HG--
extra : rebase_source : 3c477a97ea842a806f6fad6f5c3a81d6e50b27c3
2013-01-22 20:12:21 -05:00
Eddy Bruel
06d31700df
Bug 568953 - Fix for build warning; r=Ms2ger
2013-01-21 19:02:41 +01:00
Bill McCloskey
6ffd7450d7
Bug 833163 - Remove bogus scheduledForDestruction assertion (r=luke)
2013-01-22 14:15:25 -08:00
Daniel Holbert
d02182eb9e
Bug 833405: Don't treat deprecated-declarations build warnings as errors, in --enable-warnings-as-errors builds. r=ted
2013-01-22 13:28:16 -08:00
Justin Lebar
5aa3188b54
Bug 832620 - Skip the GCC <= 4.4 version check when building with clang. r=glandium
2013-01-22 16:14:27 -05:00
Justin Lebar
505b6cd144
Bug 832623 - Disable -fstrict-aliasing in the JS engine for gcc <= 4.4 on all platforms, not just Linux/Android. r=glandium
2013-01-22 16:14:27 -05:00