Commit Graph

34803 Commits

Author SHA1 Message Date
Bobby Holley
8c4bd564a7 Bug 965898 - Don't use a FilteringWrapper to get an unfiltered view in ChromeObjectWrapper. r=gabor
This is necessary because subsequent patches cause us to assert when invoking
getPropertyDescriptor on a FilteringWrapper for which |Policy| denies both GET
and SET.

This stuff is really a mess. I'm looking forward to it going away.
2014-07-29 21:35:31 -07:00
Bobby Holley
f808117401 Bug 965898 - Throw for [[Delete]] and [[DefineOwnProperty]]. r=gabor 2014-07-29 21:35:31 -07:00
Bobby Holley
2c94a4ea50 Bug 965898 - Implement proper behavior for [[Enumerate]] And [[OwnPropertyKeys]]. r=gabor 2014-07-29 21:35:31 -07:00
Bobby Holley
98b9699fe0 Bug 965898 - Cross-origin objects should have null prototypes. r=gabor 2014-07-29 21:35:30 -07:00
Bobby Holley
43a864d9f5 Bug 965898 - All properties from cross-origin objects are "configurable", non-enumerable, and non-writable. r=gabor 2014-07-29 21:35:30 -07:00
Bobby Holley
9ba51f87fd Bug 965898 - All properties on cross-origin DOM objects should be |own|. r=gabor 2014-07-29 21:35:30 -07:00
Bobby Holley
a40fd879cb Bug 965898 - Implement an Xray subclass that we can use to implement HTML5 cross-origin semantics. r=gabor 2014-07-29 21:35:30 -07:00
Bobby Holley
08e25aefc1 Bug 965898 - Drop support for XPCWN XOWs. r=gabor
XOWs only allow access to Window and Location, both of which are on WebIDL now.
2014-07-29 21:35:29 -07:00
Bobby Holley
9f2d788107 Bug 940305 - Move extraWarnings to RuntimeOptions with a per-compartment override. r=jandem,r=khuey 2014-07-29 21:00:37 -07:00
Boris Zbarsky
61c575a324 Bug 1031945. Don't expose showModalDialog on Window if it's preffed off. r=smaug 2014-07-26 01:41:10 -04:00
Andrew McCreight
80073f0306 Bug 1037510, part 1 - Add nursery size as a parameter of CycleCollectedJSRuntime. r=khuey 2014-07-29 15:38:14 -07:00
Terrence Cole
f8c0cdd095 Bug 1033442 - Split out GC scheduling tunables to make Zone GC heap triggers clearer; r=sfink 2014-07-22 16:24:28 -07:00
Terrence Cole
0530fb0a80 Bug 1045181 - Miscellaneous small cleanups in js::gc; r=jonco 2014-07-29 10:47:43 -07:00
Brian Hackett
a6e0e2f3ef Bug 1042833 - Remove JS_ION #ifdef, r=jandem. 2014-07-29 12:51:40 -08:00
Terrence Cole
01619aa03f Backed out changeset eefad3e4e594 for valgrind failures on a CLOSED TREE.
--HG--
extra : rebase_source : b5b018f5a5f23fe12600e64508ef075794d707fe
2014-07-29 10:47:32 -07:00
Brian Hackett
beed68d385 Bug 1028580 - Fold and/or and condition tests before critical edge splitting, r=sunfish. 2014-07-29 09:18:14 -08:00
Terrence Cole
142c3254f8 Bug 1033442 - Split out GC scheduling tunables to make Zone GC heap triggers clearer; r=sfink
--HG--
extra : rebase_source : 3631e7c23d5e48f294d7860d2edd3dda776036cc
2014-07-22 16:24:28 -07:00
Bobby Holley
b5a99312f6 Bug 1044205 - Rename XPCWrappedNativeScope::TraceSelf to TraceInside. r=billm 2014-07-29 08:48:33 -07:00
Bobby Holley
bba4516624 Bug 1044205 - Invoke XPCWrappedNativeScope::TraceSelf from TraceXPCGlobal. r=billm 2014-07-29 08:48:32 -07:00
Bobby Holley
22790b10a5 Bug 1044205 - Detach the XPCWrappedNativeScope from the CompartmentPrivate during forcible shutdown. r=billm 2014-07-29 08:48:32 -07:00
Luke Wagner
8ae00b2cc6 Bug 1040390 - Integrate JS::ProfilingFrameIterator with the profiler (r=bgirard)
--HG--
extra : rebase_source : 7f9a022fb16a353d22242f60cfae4e5659798752
2014-07-29 09:56:22 -05:00
Luke Wagner
d082a048a2 Bug 1040390 - Replace ad hoc methods with JS::ProfilingFrameIterator::label() (r=dougc)
--HG--
extra : rebase_source : 396c7925edac39e39d16dea7a53da3ba34f68ddf
2014-07-29 09:56:21 -05:00
Luke Wagner
2875ab4eb5 Bug 1040390 - Add JS::ProfilingFrameIterator::stackAddress (r=dougc)
--HG--
extra : rebase_source : a5f1823e8e9fb96aeb2813ce5105dc9096a054d7
2014-07-29 09:56:21 -05:00
Luke Wagner
352fe19288 Bug 1040390 - Make js::RunScript push an isCpp frame (r=djvj)
--HG--
extra : rebase_source : 66f8e50977cb172d0b888aca382227fc252c8410
2014-07-29 09:56:21 -05:00
Luke Wagner
3d746dbc68 Bug 1027885 - Don't clobber arg registers in the profiling builtin thunk on ARM (r=dougc)
--HG--
extra : rebase_source : e735dfac5a1e6652049d13145e165dcc98b97b5c
2014-07-29 09:56:06 -05:00
Nicolas B. Pierron
5012ab1ae3 Bug 1034349 - Skip Float32 specialization for int32 operations. r=bbouvier 2014-07-29 04:49:19 -07:00
Mike Hommey
42f57b6138 Bug 1043802 - Remove TOOLS_DIRS and TEST_TOOLS_DIRS. r=gps 2014-07-29 08:55:55 +09:00
Bobby Holley
a8cb4298af Bug 1042996 - Remove the special JSContext for Sandboxes. r=bobowen,r=gabor 2014-07-28 14:55:51 -07:00
Bobby Holley
c10abfa12b Bug 1042996 - Always set an explicit version in evalInSandbox. r=gabor
If setVersion() is not invoked on compileOptions, it ends up with
JSVERSION_UNKNOWN, which invokes findVersion() on the JSContext, which does a
bunch of crazy hunting of previous scripted stack frames that we most certainly
don't want for sandboxes, which are supposed to be controlled environments.
Using a separate JSContext in evalInSandbox isolates us from these effects, so
once we stop doing that we need to be more explicit here.
2014-07-28 14:55:51 -07:00
Brian Hackett
0a6777b210 Bug 1042833 - Add 'none' architecture used in --disable-ion builds, r=jandem. 2014-07-28 11:37:48 -08:00
Bobby Holley
6c3d228f84 Bug 1042840 - Remove evalInWindow. r=gabor 2014-07-28 11:19:25 -07:00
Bobby Holley
0b15607f72 Bug 1042824 - Remove implicit cloning behavior in function forwarders. r=gabor 2014-07-28 11:19:25 -07:00
Bobby Holley
74d7d2c940 Bug 1042824 - Borrow the JSID_VOID handling from the cloning forwarding. r=gabor 2014-07-28 11:19:25 -07:00
Bobby Holley
57e615c22e Bug 1042824 - Manually do the cross-compartment call in NonCloningFunctionForwarder. r=gabor 2014-07-28 11:19:24 -07:00
Bobby Holley
57d9ea51f5 Bug 1042824 - Do a security check on the callee in ExportFunction. r=gabor
It would be nice to enforce this in New*FunctionForwarder, but we're already
in the target compartment at that point. :-(

We don't need to worry about this at the other callsites of
New*FunctionForwarder because:
* The stuff in XPCComponents is always invoked by System Principaled code.
* The stuff in StackScopedCloneRead only gets invoked when we're already done a
  successful CheckedUnwrap inside the JS engine.
2014-07-28 11:19:24 -07:00
Benjamin Bouvier
a16f840758 Bug 1042244: Make FuncWith return the same type as their inputs; r=nmatsakis 2014-07-28 19:27:52 +02:00
Benjamin Bouvier
538ef7f91a Bug 1042244: Instantiate operators template arguments in users; r=nmatsakis 2014-07-28 19:27:48 +02:00
Benjamin Bouvier
0621a47d7f Bug 1042244: Simplify and generalize FuncShuffle; r=nmatsakis 2014-07-28 19:27:46 +02:00
Benjamin Bouvier
721cb75fb1 Bug 1042244: Remove return template parameter in SIMD operators; r=nmatsakis 2014-07-28 19:27:42 +02:00
Benjamin Bouvier
7bc00784df Bug 1042244: Make comparison operators always return int32_t; r=nmatsakis 2014-07-28 19:27:34 +02:00
Ehsan Akhgari
0ce424a685 Bug 1045092 - Fix some bad implicit constructors in xpconnect; r=bholley 2014-07-28 13:20:14 -04:00
Andrea Marchesini
2ddc23409d Bug 1030917 - xpc::GlobalProperties object ignores the 'aPromise' param., r=bholley 2014-07-28 15:42:57 +01:00
Nicolas B. Pierron
4861fa16ed Bug 1040194 - Keep recoverOnBailout instruction for resume point operands. r=h4writer 2014-07-28 05:46:26 -07:00
Nicolas B. Pierron
9c12ac2f72 no bug - Fix order of namespace comments. r=me 2014-07-28 05:46:26 -07:00
Benjamin Bouvier
bb73493d43 Bug 1043898: Remove num() methods and use input() instead, remove MComputeThis' overriding input(); r=nbp 2014-07-28 13:18:46 +02:00
Benjamin Bouvier
f8b750358f Bug 1043898: Remove MNot's operand() and use input() instead; r=nbp 2014-07-28 13:18:42 +02:00
Jon Coppeard
0fdbee64d0 Bug 1043888 - Make GetObjetZone() work on nursery objects and rename GetGCThingZone() to GetTenuredGCThingZone() r=terrence 2014-07-28 10:39:36 +01:00
David Zbarsky
9a11c843f4 Bug 1044305: Remove Location classinfo r=bz 2014-07-26 13:28:48 -04:00
Jim Blandy
1c5248cfaf Bug 1012456: Use 'using namespace' in DebuggerMemory.cpp, to avoid wrapping top-level definitions in a namespace { ... } form. r=sfink 2014-07-25 22:17:34 -07:00
Jim Blandy
e8da076302 Bug 1012456: Use 'using namespace' in DebuggerMemory.cpp, to avoid wrapping top-level definitions in a namespace { ... } form. r=sfink 2014-07-25 22:10:51 -07:00
Andy Anderson
fa1d3e6cbd Bug 369778 - RegExp capturing groups that aren't matched during a match (because of, say, a *?+{n}{n,m} quantifier that means they're never used) should be matched as |undefined|, not as the empty string. r=jwalden
--HG--
extra : rebase_source : cf5710ee19dbdc0ee9b50d9a75d94e4e04584ec4
2014-07-25 14:34:10 -07:00
Jeff Walden
c825198daf Bug 1043683 - Make RegExpStatics::makeMatch sane about not taking two arguments, one of which is always double the other (yet has its parity tested). r=ae.anderson0@gmail.com
--HG--
extra : rebase_source : 13b576c6e15b8f4f0ad7e639ccdcaaf609bc10b5
2014-07-25 14:34:10 -07:00
Jeff Walden
6922f767cf Bug 1037609 - Remove the js_strdup(cx, jschars) method entirely, seeing as there are so few other uses of it. r=jimb
--HG--
extra : rebase_source : 1a611dccabaddccebc522943559a2ea1f1703811
2014-07-11 14:24:34 -07:00
Luke Wagner
a853ecd827 Bug 1043453 - OdinMonkey: fix bugs in interrupt handling (r=dougc)
--HG--
extra : rebase_source : 79fc33173590bde7e80f2960115361cb21c27cba
2014-07-25 11:01:35 -05:00
Tom Schuster
7fecfd389c Bug 1043588 - Remove some unused functions from OldDebugAPI. r=jimb 2014-07-25 14:26:40 +02:00
Tom Schuster
f68682512f Bug 1031878 - Remove JS_SetWatchPoint and friends. r=jimb 2014-07-25 14:26:40 +02:00
Tom Schuster
f64ba94266 Bug 1043577 - Remove PropertyDescArray stuff. r=jimb 2014-07-25 14:26:40 +02:00
Tom Schuster
159f339e95 Bug 1043578 - Remove JS_SetDebuggerHandler and friends. r=jimb 2014-07-25 14:26:40 +02:00
Tom Schuster
10abfe2a50 Bug 1031876 - Remove JS_SetTrap and friends. r=jimb 2014-07-25 14:26:39 +02:00
Benjamin Bouvier
9e41c63d18 Bug 1028580: remove multi-line comment warning; r=Ms2ger 2014-07-25 10:21:50 +02:00
Ms2ger
ffd7031cf6 Bug 1043281 - Remove JS_ClearNonGlobalObject; r=luke
This has always been a somewhat wonky API, which only existed because of
existing consumers in the DOM. The last consumer went away in bug 660237.
2014-07-25 08:59:40 +02:00
Gou Lingfeng
90c22f6ec3 Bug 977400 - Fixed WeakMapPtr visibility, r=sfink
--HG--
extra : rebase_source : 404dabdbaa3056988f922ce711292ded7f77f7dc
2014-07-24 16:57:42 -07:00
Nicholas Nethercote
a2cce63dce Bug 1039965 (attempt 2) - Avoid slop in JS arrays. r=bhackett,terrence.
This patch changes JS array resizing to prefer power-of-two sized slot
requests. Previously it would mostly make slightly-more-than-power-of-two sized
requests that cause lots of slop.

Also, shrinkElements() now only does a reallocation if it would result in going
down a size class. E.g. if you pop all the elements from a 1000-element array,
it would realloc 999, then 998, then 997, all the way down the minimum size.
Now it does 512, then 256, down to the minimum size (which is 8).

I confirmed with DMD that the element allocations now have zero slop. This
reduces peak RSS loading a couple of large PDF files (four times each) with
pdf.js by 10s of MiBs.

--HG--
extra : rebase_source : c10fd4efd8ab80df5bbe14815009edb8eed3f23f
2014-07-24 18:41:09 -07:00
Terrence Cole
3985712a16 Backed out changeset 554e549aab67 (bug 1033442) for build failures on a CLOSED TREE.
--HG--
extra : rebase_source : 984dcabe44674d73bcadbce89899d683db96449e
2014-07-24 11:22:48 -07:00
Terrence Cole
7f3b653089 Bug 1033442 - Split out GC scheduling tunables to make Zone GC heap triggers clearer; r=sfink
--HG--
extra : rebase_source : 43d48180eae9d4753dba22078b4c66061a9380d2
2014-07-22 16:24:28 -07:00
Nathan Froyd
c87bd38639 Bug 1043417 - don't check for X headers in js/src; r=mshal 2014-07-24 09:59:55 -04:00
Terrence Cole
a963834a2a Bug 1029648 - Fix a typo; r=jonco 2014-07-22 11:25:22 -07:00
Hannes Verschore
074b49999d Bug 1039976 - IonMonkey: Improve generated code of MTypeObjectDispatch with one case, r=jandem 2014-07-24 16:40:11 +02:00
Hannes Verschore
bdc1ed5ac5 Bug 1039542 - TraceLogger: Reset the lastChildId when resuming the tracelogger, r=bbouvier 2014-07-24 16:40:10 +02:00
Nicolas B. Pierron
8646cbe20f Bug 1039607 - Scalar Replacement support dynamic slots. r=h4writer 2014-07-24 04:30:50 -07:00
Jan de Mooij
2b35cc57f0 Bug 1031529 part 4 - Remove getBuildConfiguration().threadsafe. r=bhackett 2014-07-24 11:56:47 +02:00
Jan de Mooij
f267f1737c Bug 1031529 part 3 - Step defining JS_THREADSAFE, remove --disable-threadsafe. r=glandium 2014-07-24 11:56:45 +02:00
Jan de Mooij
09ba1e72b1 Bug 1031529 part 2 - Remove JS_THREADSAFE #ifdefs everywhere. r=bhackett 2014-07-24 11:56:43 +02:00
Jan de Mooij
dd5c3d356c Bug 1031529 part 1 - Add a --no-threads shell flag. r=bhackett 2014-07-24 11:56:41 +02:00
Nick Fitzgerald
f2be1a7e7c Bug 1035287 - Part 2: Refactor js::SavedStacks::insertFrames to use iteration instead of recursion. r=shu 2014-07-23 09:15:00 +02:00
Terrence Cole
7472739377 Bug 1033442 - Automate tracking of the GCRuntime's gcBytes; r=jonco,sfink 2014-07-22 13:30:26 -07:00
Mike Conley
0d2bcf7aef Bug 1042398 - Tests. r=bholley 2014-07-23 15:20:05 -07:00
Bobby Holley
344267d98d Bug 1042398 - Add a WaiveXrayWrapper override for ::iterate. r=gabor
I thought we had overrides for all the proxy traps that returned non-primitive
values, but it looks like we missed one.
2014-07-23 15:20:05 -07:00
Alexandre Poirot
f5412abfea Bug 1027242 - Blacklist mulet's failing tests + expose 'mulet' to ini files; fix previous bustage on a CLOSED TREE, r=ahal 2014-07-02 15:40:56 -07:00
Wes Kocher
d0dc5a8aaa Backed out changeset 88860bed8c96 (bug 1042398) for bustage on a CLOSED TREE 2014-07-23 13:09:54 -07:00
Wes Kocher
62afd855cc Backed out changeset 79d2db9a2a2c (bug 1042398) for build bustage on a CLOSED TREE 2014-07-23 13:08:24 -07:00
Brian Hackett
9d0e00ee81 Bug 1028580 - Improve code generated for conditional and &&/|| tests, r=jandem,sunfish. 2014-07-23 11:59:10 -08:00
Mike Conley
528bdf4635 Bug 1042398 - Tests. r=bholley 2014-07-23 12:36:22 -07:00
Bobby Holley
a739e167e2 Bug 1042398 - Add a WaiveXrayWrapper override for ::iterate. r=gabor
I thought we had overrides for all the proxy traps that returned non-primitive
values, but it looks like we missed one.
2014-07-23 12:36:22 -07:00
Bobby Holley
897d90ac3c Bug 1041626 - Tests. r=bz 2014-07-23 12:36:21 -07:00
Ryan VanderMeulen
cf2a55fb58 Merge inbound to m-c. a=merge 2014-07-23 15:17:20 -04:00
Ryan VanderMeulen
9e5069af48 Bug 1006899 - Only run the test if TypedObject is enabled. rs=nbp 2014-07-23 15:16:53 -04:00
Andrea Marchesini
179c6c5321 Bug 660237 - implement nsIDOMStorage with a proxy, r=bzbarsky, r=mayhemer 2014-07-23 01:07:12 -04:00
Boris Zbarsky
f10d7405dc Bug 1021066. Make named setters work even for non-overridebuiltins bindings over Xrays. r=bholley,jorendorff 2014-07-23 01:06:33 -04:00
Mike Hommey
731fc25aa5 Followup for bug 1041936 to unbreak spidermonkey fail-on-warnings builds. r=me 2014-07-23 14:01:55 +09:00
Mike Hommey
7ca0de0fb4 Bug 1041936 part 2 - Directly use the static library "xul" to link into "xul-gtest" instead of having an intermediate library "xul" used by "xul-shared" and "xul-gtest". r=gps 2014-07-23 13:33:09 +09:00
Mike Hommey
171507509c Bug 1036894 part 9 - Replace all EXTRA_DSO_LDOPTS, SHARED_LIBRARY_LIBS and LIBS with EXTRA_LIBS, OS_LIBS or OS_LDFLAGS, appropriately. r=gps
OS_LIBS for libraries that are not part of the gecko tree, EXTRA_LIBS for
libraries, such as NSPR, that are in the tree, but are not handled by
moz.build just yet. Those EXTRA_LIBS may also come from a system library.
However, in cases where the expanded variables are always empty for the
in-tree case, OS_LIBS is used (as for, e.g. MOZ_ZLIB_LIBS). OS_LDFLAGS is
used exclusively for non-library linker flags.

Always pass EXTRA_LIBS before OS_LIBS on linker command lines.

Forbid EXTRA_DSO_LDOPTS, SHARED_LIBRARY_LIBS and LIBS in Makefiles.
2014-07-23 13:31:02 +09:00
Mike Hommey
5659a611dd Bug 1036894 part 8 - Move most in-tree library linkage information to moz.build, as USE_LIBS. r=gps 2014-07-23 13:30:52 +09:00
Mike Hommey
bc97b68005 Bug 1036894 part 1 - Move MAKE_FRAMEWORK, SDK_LIBRARY, SHARED_LIBRARY_NAME and STATIC_LIBRARY_NAME to moz.build. r=gps
At the same time, make the Library data more useful in the build frontend.
2014-07-23 13:29:09 +09:00
Brian Hackett
5b1c4434ef Bug 1028580 - Remove debugging printfs. 2014-07-22 18:37:27 -08:00
Brian Hackett
60041d8930 Bug 1028580 - Improve code generated for conditional and &&/|| tests, r=jandem,sunfish. 2014-07-22 18:34:03 -08:00
Nicholas Nethercote
517b7ff4b2 Backout dd2018a5f894 (bug 1039965) because it caused perf regressions in Kraken.
--HG--
extra : rebase_source : 3d6c25bc6ce7db784d9e8ba52d3ef058c9d8d802
2014-07-22 18:11:31 -07:00
Jonathan Griffin
d8167428d6 Backed out changeset 64586374a208 on a CLOSED TREE 2014-07-22 18:29:57 -07:00
Alexandre Poirot
32f4c0930e Bug 1027242 - Blacklist mulet's failing tests + expose 'mulet' to ini files; fix previous bustage on a CLOSED TREE, r=ahal 2014-07-02 15:40:56 -07:00
Jonathan Griffin
c981769b72 Backout 4f6d9db92389 for bustage on a CLOSED TREE 2014-07-22 17:55:50 -07:00