Commit Graph

34219 Commits

Author SHA1 Message Date
Dan Gohman
778e457ed9 Bug 1027897 - IonMonkey: Eliminate a few explicit CodePosition::pos() calls. r=bhackett 2014-06-23 13:42:06 -07:00
Dan Gohman
c062b4dca6 Bug 1027897 - IonMonkey: Minor code simplifications. r=bhackett 2014-06-23 13:42:06 -07:00
Bobby Holley
a4670be1a3 Bug 1027131 - Additional tests for wrapReflectors. r=gabor 2014-06-23 13:25:09 -07:00
Bobby Holley
de6604063e Bug 1027131 - Use StackScopedClone for cloneInto. r=gabor 2014-06-23 13:25:08 -07:00
Bobby Holley
35d05d7ac8 Bug 1027131 - Add support for function cloning in StackScopedClone. r=gabor 2014-06-23 13:25:08 -07:00
Bobby Holley
e4bed6b8f4 Bug 1027131 - Innerize before reflector detection. r=gabor 2014-06-23 13:25:08 -07:00
Bobby Holley
7f45a5ad0e Bug 1027131 - Add support for Blob and FileList in the wrapReflectors = false case. r=gabor 2014-06-23 13:25:08 -07:00
Bobby Holley
b010932e5f Bug 1027131 - Switch to a struct for the StackScopedClone closure. r=gabor 2014-06-23 13:25:08 -07:00
Bobby Holley
360e5e5da1 Bug 1027131 - Rename CloneNonReflectors into StackScopedClone, and give it an options struct. r=gabor 2014-06-23 13:25:07 -07:00
Bobby Holley
0c4ff6d411 Bug 1027131 - Remove invalid assertion. r=gabor
If a clone happens between two same-origin scopes, we'll end up with CCWs here
that are neither Xrays nor reflectors.
2014-06-23 13:25:07 -07:00
Bobby Holley
fc116f2c1c Bug 1027131 - Split out ExportHelpers.cpp. r=gabor
A lot of this stuff is usable from both Sandbox.cpp and XPCComponents.cpp, and
those files are both pretty big these days.
2014-06-23 13:25:07 -07:00
Jan Beich
610dff8cc8 Bug 1028775 - Unbreak non-unified build of --disable-ion after bug 1013326. r=luke 2014-06-23 22:13:21 +02:00
Jan Beich
e8668f8862 Bug 1028734 - Unbreak --disable-ion build after bug 1019304. r=shu 2014-06-23 22:12:51 +02:00
Luke Wagner
6b7dae104a Bug 1027885 - OdinMonkey: hoist the start/end function code (r=bbouvier)
--HG--
extra : rebase_source : 29de292af394eba001503d0a5fe68774924bf725
2014-06-23 14:55:56 -05:00
Luke Wagner
18840ba7a9 Bug 1027885 - OdinMonkey: rename to AsmJSFrameSize, move definition to be closer to use (r=bbouvier)
--HG--
extra : rebase_source : 145339db9969a91313f6af63dabf9be518a8faa7
2014-06-23 11:01:41 -05:00
Luke Wagner
b5e78a6205 Bug 1027885 - OdinMonkey: use non-asserting labels (r=sunfish)
--HG--
extra : rebase_source : d5cd151417e40196c2734054564acbe872b150b6
2014-06-23 10:59:28 -05:00
Jim Blandy
7162d26f9a Bug 961325: Give PersistentRooted a copy constructor that can take a 'const' original. r=terrence 2014-06-23 12:59:19 -07:00
Benoit Jacob
c6505caca2 Bug 1028588 - Fix dangerous public destructors in js/jsd/ - r=sfink 2014-06-23 15:56:10 -04:00
Jon Coppeard
7f9e37a800 Bug 1028358; r=terrence
--HG--
extra : rebase_source : 9a11ed18dc2a94ef2397eb61a24eb74d764f0df7
2014-06-23 12:36:54 -07:00
Terrence Cole
05ff43e9d5 Bug 1028358; r=jonco
--HG--
extra : rebase_source : 41cf1eaa104bf386c77777be906236d1d15a2622
2014-06-23 12:36:36 -07:00
Jason Orendorff
7f9e00a477 Bug 645416, part 29 - Implement Symbol.keyFor(). r=efaust.
--HG--
extra : rebase_source : 2494792929754ba1915f380c0384471c3d5cb8e0
2014-06-23 10:57:04 -05:00
Jason Orendorff
a0cbf316e5 Bug 645416, part 28 - Update Object.prototype.toSource for symbol-keyed properties. r=Waldo.
The new output uses syntax with square brackets: {[Symbol.for("key")]: "value"}
This syntax is not yet supported in SpiderMonkey, but it is part of ES6 (see
bug 924688 or search the ES6 drafts for ComputedPropertyName).

--HG--
extra : rebase_source : 6976a1025c268aaed3462d900b83fa6a33515e78
2014-06-23 10:57:03 -05:00
Jason Orendorff
79c5cb0949 Bug 645416, part 27 - Implement Object.getOwnPropertySymbols(). r=Waldo.
--HG--
extra : rebase_source : 88b44837f0b845f88a881d4b472d3c9ef44bcbf0
2014-06-23 10:57:03 -05:00
Jason Orendorff
3e53164b38 Bug 645417, part 26 - Update jsid sorting for JS_MORE_DETERMINISTIC. r=luke.
Unfortunately, with symbols, the original goal of this code is apparently
impossible. For two unique symbols with the same description, short of doing
extra bookkeeping at run time, there's no ordering that's sure to be consistent
across runs. The new code orders all other symbols.

--HG--
extra : rebase_source : 0734906d046e577d4c7d65149ec688dd0b80e885
2014-06-23 10:57:03 -05:00
Jason Orendorff
2769f17284 Bug 645416, part 25 - Add support for enumerating symbol-keyed properties. r=Waldo.
Object.keys, Object.getOwnPropertyNames, and for-in loops skip symbol-keyed
properties per spec, but Object.defineProperties sees them, and a future
Reflect.ownKeys API will need to be able to see them.

This patch changes the comments on JSITER_FOREACH and JSITER_KEYVALUE, but not
the behavior. The comments were just wrong.

--HG--
extra : rebase_source : f1ad99d416df8a8acef5598bef2cde4b72dcdb31
2014-06-23 10:57:03 -05:00
Jason Orendorff
223d23449e Bug 645416, part 24 - Modify proxy tests to add testing for symbol-keyed properties. r=efaust.
This patch also updates legacy direct proxies to cope with symbols. Uniform
behavior seems like the easiest thing to carry forward.

--HG--
extra : rebase_source : 5e5251c942e879a4440d7c0524343cf6fc744c7e
2014-06-23 10:57:02 -05:00
Jason Orendorff
07ec21e434 Bug 645416, part 23 - Implement ValueToId for symbols. This makes symbols work as property keys. r=efaust.
--HG--
extra : rebase_source : eec18157d90daf54afc300b81d351011e5b669d5
2014-06-23 10:57:02 -05:00
Jason Orendorff
f427cf7043 Bug 645416, part 22 - Remove JSCompartment::wrapId. r=terrence.
This is unnecessary now that object jsids no longer exist. Both string and
symbol jsids point only to GC things in the atoms compartment, which are safe
to pass to any compartment without wrapping.

--HG--
extra : rebase_source : 82c21e8474df05b1bb42c14d872c981205bbe879
2014-06-23 10:57:02 -05:00
Jason Orendorff
e54535bb40 Bug 645416, part 21 - Add symbol jsids (SYMBOL_TO_JSID), removing the legacy support for object jsids (OBJECT_TO_JSID). r=terrence,r=jimb,r=efaust.
With just this patch, there are not actually any symbol jsids flowing through
the system, just as there are not actually any object jsids. But a subsequent
patch (part 23) changes this.

This patch deletes some code in CTypes.cpp that is simply confused about how
element accesses work: Int64 and UInt64 objects were never actually converted
to object jsids, so the code being removed here was already dead code.

--HG--
extra : rebase_source : 86f421c6454344e76ce5219b7b1aed5c83b45f24
2014-06-23 10:56:52 -05:00
Jason Orendorff
2412cb39a5 Bug 645416, part 20 - Add JS::Symbol::dump() method for debugging. r=efaust.
--HG--
extra : rebase_source : 2e2539f319593d51876ef39caa0c96800b6d605e
2014-06-23 10:56:52 -05:00
Jason Orendorff
39f62cf523 Bug 645416, part 19 - Update assertDeepEq for symbols. r=till.
The contract of assertDeepEq(a, b) is that the assertion passes iff a and b
have the isomorphic heap graphs. Symbols, like objects, are treated as nodes in
this graph. So, for example, if a and b are distinct symbols, then [a, b] is
not deepEq to [b, b] because they have distinct graphs. There are three nodes
in [a, b]: the array, a, and b.  There are only two nodes in [b, b]: the array,
and b.

--HG--
extra : rebase_source : 9415559bab9f0ed132dd49d3790892b3209fa77b
2014-06-23 10:56:51 -05:00
Jason Orendorff
340ae048a6 Bug 645416, part 18 - Update ValueToSource for symbols. r=sfink.
--HG--
extra : rebase_source : 8d3702bd625ba2126f691810e1ea2a7736fd77e7
2014-06-23 10:56:51 -05:00
Jason Orendorff
893e2556d3 Bug 645416, part 17 - Implement ToPrimitive on Symbol wrapper objects. r=sfink.
The spec defines this by way of a @@toPrimitive method. We fake it using a
JSClass::convert hook. (Once @@toPrimitive is implemented, convert hooks
can be removed entirely, but we need symbols first.)

--HG--
extra : rebase_source : c8c7ed3eead8bd79bb38b70f448ebb98c5b3d780
2014-06-23 10:56:51 -05:00
Jason Orendorff
0ff275fd1e Bug 645416, part 16 - Implement Symbol.prototype.valueOf. r=sfink.
--HG--
extra : rebase_source : 12dfad71e0933ccc3e553854f44bdf0f85eccf64
2014-06-23 10:56:51 -05:00
Jason Orendorff
abe45ff112 Bug 645417, part 15 - Tests for ToObject on symbols. r=sfink.
The test as-base-value.js is not testing symbols as property keys (which is
implemented in a later patch), but on the other side of the . operator: as
things that can have property accesses done to them, just like you can do
"name".length or (3.14).toString().

--HG--
extra : rebase_source : 3dac7660999bd021ec32c13985471e1608a29f64
2014-06-23 10:56:51 -05:00
Jason Orendorff
d89373c327 Bug 645416, part 14 - Update ToString for symbols. r=sfink.
The change in jit-test/tests/symbol/toString.js is that we now check that an
exception is actually thrown. Until this patch, stringifying a symbol did not
throw. (The test was mainly checking that we did not assert in Ion.)

No changes in Ion. If a symbol is being stringified, it's ok to be in a slow
path because that is going to throw anyway.

--HG--
extra : rebase_source : 9cf314dafa7392a20fee9d3b5acc4ad7fc1c5229
2014-06-23 10:56:50 -05:00
Jason Orendorff
ffe098aa09 Bug 645416, part 13 - Update ToNumber for symbols. r=sfink.
Not terribly interesting; converting a symbol to a number always produces NaN.

--HG--
extra : rebase_source : ded251ef9e92d92483b5cc18cf16e2910084bbff
2014-06-23 10:56:50 -05:00
Jason Orendorff
ffb7a900e7 Bug 645416, part 12 - Update ToBoolean for symbols. r=sfink.
--HG--
extra : rebase_source : 24d444b77bbfdbc35e3f99c73e5b182e2ecad029
2014-06-23 10:56:50 -05:00
Jason Orendorff
17baf1bfcc Bug 645416, part 11 - Update GDB pretty-printers for symbols. r=jimb.
--HG--
extra : rebase_source : ab2063ab6073b748069c6a8ad1cd34ab0d5e7d86
2014-06-23 10:56:50 -05:00
Jason Orendorff
50238c4db4 Bug 645417, part 10 - Well-known symbols. r=terrence,r=efaust.
At present there is only one, Symbol.iterator, and it is not hooked up to
anything (this happens in bug 918828). ES6 defines 8 well-known symbols. Each
one is attached to a feature, so we'll add the symbols as we add features.
Symbol.create will appear when @@create semantics are implemented.

--HG--
extra : rebase_source : aab40a7487708c8bbd23dcfbe935ece1903d75ff
2014-06-23 10:56:49 -05:00
Jason Orendorff
fb97c241d9 Bug 645416, part 9 - Implement the symbol registry and Symbol.for(). r=terrence,r=efaust.
--HG--
extra : rebase_source : df06d065f70756dea63dfd8e9df56610ff46d393
2014-06-23 10:56:49 -05:00
Jason Orendorff
a1ade24149 Bug 645416, part 8 - Support passing symbols across compartment boundaries. r=terrence.
Trivial. Since symbols are always allocated in the atoms compartment and all
compartments are allowed to have direct references to them, Compartment::wrap
on a symbol is a no-op.

--HG--
extra : rebase_source : 2f51ff0b3870885de8c6ef6a82efa7398e17d5e8
2014-06-23 10:56:49 -05:00
Jason Orendorff
95d4e7497f Bug 645416, part 7 - Support symbols as Map keys. r=terrence.
--HG--
extra : rebase_source : 5e40fe2514e7eb9ca874b1c271ed4a4e11f9c2ff
2014-06-23 10:56:48 -05:00
Jason Orendorff
2f69141de3 Bug 645416, part 6 - JIT support for symbol values. r=jandem.
Symbols are not yet supported as property keys at this point in the stack. The
work here is to pass symbol pointers around in Ion JIT code unboxed.

The baseline compiler doesn't need much new code. A few kinds of ICs need to
know all the primitive types.

--HG--
extra : rebase_source : 3addcd18e913e5879b0ee3700ecf9660b14b1e05
2014-06-23 10:56:18 -05:00
Jason Orendorff
58ffd8ea68 Bug 645416, part 5 - Add the Symbol constructor and Symbol wrapper objects. r=efaust.
This exposes a new primitive type to scripts for the first time since
JavaScript first shipped in Netscape 2, over 13 years ago.

The tests focus on identity, equality, and being able to pass a symbol around
as a value. Of course the point of symbols is that they can be property keys,
but that will have to wait for a later patch in this series.

--HG--
extra : rebase_source : c22cf4b774cca8e7c9f6c757079e054a6eb0f307
2014-06-23 10:55:52 -05:00
Jason Orendorff
fc567d7487 Bug 645416, part 4 - Rename DefinePropertiesAndBrand -> DefinePropertiesAndFunctions. r=bhackett.
--HG--
extra : rebase_source : beadd475b66cb17c7fe6f74766a5d90767817cf0
2014-06-23 10:55:52 -05:00
Jason Orendorff
0bfce2ba30 Bug 645416, part 3 - Symbol layout and GC support for allocating them. r=terrence.
Layout: js/src/vm/Symbol.h defines the new class JS::Symbol. JS::Symbol is the
same size as JSString on all platforms, because the allocator does not support
smaller allocations.

Allocation: Since the purpose of symbols is to serve as property keys, they are
always allocated in the atoms compartment.

We take a lock when allocating. This could probably be replaced with a
main-thread-only assertion. However, if atom allocation is not already a
bottleneck, symbol allocation probably never will be.

Symbols are given their own finalize-class in the GC. This means we allocate a
page per zone for symbols, even though they are only ever allocated in the
atoms zone. Terrence thought this could be easily fixed later. It should be; we
never touch the page, but a 32-bit virtual address space does not just have
infinite pages to spare.

A jsapi-test exercises the new symbol allocation code. A few oddities in
jsapi-tests are fixed in passing.

Discussion after review led to some new assertions about minimum object size in
AllocateObject and AllocateNonObject.

--HG--
extra : rebase_source : 45abb651d3b1b493d77a5dd0eb554f96b058c63a
2014-06-23 10:55:51 -05:00
Jason Orendorff
c4d2ca3a88 Bug 645416, part 2 - Add support for symbols to JS::Value. r=luke.
The API for symbol Values is much like the API for strings.

The implementation behind all this is in a later patch. Here, a class
JS::Symbol is declared, but not defined anywhere yet.

The constants being deleted from js/public/Value.h probably haven't been used
since Tracemonkey days.

--HG--
extra : rebase_source : 5b2d0cc4d99223483e850ee80913eef3854c427c
2014-06-23 10:55:51 -05:00
Jason Orendorff
c3317f9be6 Bug 645416, part 1 - Add an enum for symbols to JSValueType. r=nbp.
JSVAL_TYPE_SYMBOL is inserted between STRING and NULL, rather than added at the
end, in order to preserve all the inequality relations on JSValueTypes used
throughout Value.h. (Search the header for the operators < > <= >=.)

Otherwise, this pretty much just works. Some details of Ion snapshot layout
had to change to accommodate 4-bit types.

--HG--
extra : rebase_source : e3141e6a9ee32ef563dab43a4942a9e67d234865
2014-06-23 10:55:51 -05:00
Benoit Jacob
083f0e0cc1 Bug 1028588 - Fix dangerous public destructors in js/xpconnect - r=bholley 2014-06-23 14:49:08 -04:00
Nick Fitzgerald
59dc6af800 Bug 1027157 - Make warnings reported with JSEXN_NONE so that they don't appear as errors in the console. r=Waldo 2014-06-19 15:44:00 -04:00
Douglas Crosher
8b763ac4fa Bug 1027441 - OdinMonkey: Fix use of size() with pending pool entries. r=luke 2014-06-23 14:12:16 +10:00
Nick Fitzgerald
f79fcccd5f Bug 1000967 - Add source notes for |new| expression and function calls to improve source maps and debugging. r=ejpbruel 2014-06-20 13:09:00 -04:00
Luke Wagner
a3d2e05151 Bug 1027674 - OdinMonkey: small Ion FFI optimization (r=dougc)
--HG--
extra : rebase_source : 95b909bffa35ec045286430e537583a4421ec6ea
2014-06-23 09:57:45 -05:00
Jan de Mooij
2b7ee170f0 Bug 1027528 part 13 - Remove JSString::hasPureChars etc, and refactor callers. r=njn 2014-06-23 16:20:57 +02:00
Nicolas B. Pierron
dac5dc5d41 Bug 1003801 - Sort functions based on Bug 1003801 order. r=Vash 2014-06-23 04:41:40 -07:00
Rémi Weng
82f36c0664 Bug 1024589 - IonMonkey: Implement FromCharCode Recover Instruction. r=nbp 2014-06-23 04:41:40 -07:00
Guillaume Maudoux
681ba345c5 Bug 1028556 part 2 - IonMonkey: Fix RPow test case. r=nbp 2014-06-23 04:41:40 -07:00
Guillaume Maudoux
bd9ddb6860 Bug 1028662 - IonMonkey: Implement PowHalf Recover Instruction. r=nbp 2014-06-23 04:41:39 -07:00
Douglas Crosher
ff7ec9890d Bug 1027476 - IonMonkey: (ARM) remove an unnecessary no-pool region in buildOOLFakeExitFrame(). r=jandem 2014-06-19 14:50:13 +10:00
Hannes Verschore
5252b0d88a Bug 1019585: Fix compilation with ggc, r=jandem 2014-06-26 10:59:13 +02:00
Jon Coppeard
7a5c8fb7bb Bug 988486 - Make more GCRuntime state private and add necessary accessors r=terrence 2014-06-26 10:07:35 +01:00
Lars T Hansen
f8d6d1c1b7 Bug 1020290 - fix style warnings for bustage fix on CLOSED TREE 2014-06-26 10:38:22 +02:00
Lars T Hansen
7eb4fcceba Bug 1020290 - fix bustage on CLOSED TREE 2014-06-26 10:08:40 +02:00
Lars T Hansen
bdf2818b88 Bug 1020290 - reduce the proliferation of names by introducing overloading. r=shu 2014-06-26 09:22:19 +02:00
Lars T Hansen
f6d22159a1 Bug 1020290 - move notions of 'nursery' out of ThreadSafeContext, rename 'fjNursery'. r=shu 2014-06-26 09:21:52 +02:00
Lars T Hansen
9816a0c3b7 Bug 1020290 - remove inert code. r=shu 2014-06-26 09:21:24 +02:00
Lars T Hansen
bf0f6dfb34 Bug 1020290 - factor UpdateJitActivations. r=shu 2014-06-26 09:21:02 +02:00
Shu-yu Guo
336c7e0678 Bug 1029440 - Preserve all JIT code when there's recent parallel activity. (r=terrence) 2014-06-25 17:30:56 -07:00
Shu-yu Guo
e444fa694b Bug 1029653 - Delete accidentally committed debug printf. (r=me) 2014-06-25 17:30:56 -07:00
Shu-yu Guo
2085fa4ebe Bug 1029653 - Fix subtle bug in computing the main thread stack limit in PJS. (r=lth) 2014-06-25 17:30:55 -07:00
Shu-yu Guo
e00f170c66 Bug 1029653 - Fix ForkJoinContext::isMainThread. (r=lth) 2014-06-25 17:30:55 -07:00
Shu-yu Guo
add1128f7a Bug 1029653 - Remove bogus heavyweight assertion in computeScopeChain. (r=jandem) 2014-06-25 17:30:55 -07:00
Mike Hommey
b02a375963 Bug 1027890 - Remove all sorts of build system code dedicated to pymake. r=gps 2014-06-25 08:38:28 +09:00
Peter Van der Beken
7785f47487 Bug 1027095 - Convert XPathResult to WebIDL bindings - add WebIDL API and switch. r=bz. 2013-07-04 17:40:06 +02:00
Carsten "Tomcat" Book
45f76b3c25 Backed out changeset 214719d6c99c (bug 1000182) for fixing failing jit tests on a CLOSED TREE 2014-06-23 10:14:33 +02:00
Carsten "Tomcat" Book
a7818c0574 Backed out changeset f35c977b4b21 (bug 1000182) for failing jit tests on a CLOSED TREE 2014-06-23 10:12:12 +02:00
Bob Owen
d5b1972d3b Bug 1025476 - Part 1: Add compulsory Init functions to AutoJSAPI. r=bholley 2014-06-19 08:21:14 +01:00
823ecbf857 Bug 1026858 - "search for "stdio.h" exactly". r=mshal 2014-06-18 17:19:00 +02:00
Jan Beich
570d6f212a Bug 1028745 - Avoid using foreign ASSERT() macro in JS code. r=bhackett 2014-06-23 07:16:51 +02:00
Jan Beich
0f8b987a2f Bug 1025674 - Unbreak non-unified build of --disable-ion after bug 976446. r=bhackett 2014-06-23 07:16:16 +02:00
Paali Tandia
3506a15324 Bug 1024895 - Implementing Floor recover on bailout. r=nbp 2014-06-22 11:14:00 -07:00
David Moreira
494e623000 Bug 1028573 - Implement RInstruction for MathFunction::round. r=nbp 2014-06-22 11:14:00 -07:00
Guillaume Maudoux
12e818afee Bug 1028658 - Fix indentation of RMod functions. r=nbp 2014-06-22 11:13:59 -07:00
Guillaume Maudoux
08e9171836 Bug 1028556 - IonMonkey: Implement Pow Recover Instruction. r=nbp 2014-06-22 11:13:59 -07:00
Guillaume Turri
01a51381bb Bug 1024896 - IonMonkey: Implement Round Recover Instruction. r=nbp 2014-06-22 11:13:58 -07:00
Bill McCloskey
78c2618e3d Bug 990729 - Add compartmentPerAddon option for XUL overlays (r=bholley) 2014-06-21 11:55:15 -07:00
Bill McCloskey
1ddea0f108 Bug 990729 - No longer store addonId in sandbox metadata (r=bholley) 2014-06-21 11:54:37 -07:00
Bill McCloskey
61a6099aec Bug 1019181 - Don't use JSPROP_PERMANENT for JSOP_DEFCONST (r=jorendorff) 2014-06-21 11:54:36 -07:00
Bill McCloskey
14ad05f2a2 Bug 990729 - Tests for writeToGlobalPrototype (r=bholley) 2014-06-21 11:54:36 -07:00
Bill McCloskey
699e653a64 Bug 990729 - Add writeToGlobalPrototype option for sandboxes (r=bholley) 2014-06-21 11:54:36 -07:00
Bill McCloskey
92f929818a Bug 990729 - Fix nullptr/JS_PropertyStub mistake in js::CheckDefineProperty (r=jorendorff) 2014-06-21 11:54:30 -07:00
Bill McCloskey
75435b477c Bug 990729 - Don't consider JSAddonId* to be a rooting hazard (r=terrence) 2014-06-21 11:54:25 -07:00
Bill McCloskey
08dc80ac48 Bug 1017302 - Expose add-on IDs to JS engine (r=bholley) 2014-06-21 11:54:22 -07:00
Jan de Mooij
64f87ae0f9 Bug 1026438 part 8 - Make irregexp GetCaseIndependentLetters work with Latin1 strings. r=bhackett 2014-06-21 19:56:32 +02:00
Jan de Mooij
2d3dff50ad Bug 1026438 part 7 - Make irregexp CheckSpecialCharacterClass, CheckNotBackReference work with Latin1 strings. r=bhackett 2014-06-21 19:56:30 +02:00
Jan de Mooij
47fae291f5 Bug 1027528 part 17 - Make shell's OffThreadCompileScript work with Latin1 strings. r=bhackett 2014-06-21 19:56:28 +02:00
Jan de Mooij
f4a52669de Bug 1027528 part 16 - Make JSDependentString::undepend work with Latin1 strings. r=luke 2014-06-21 19:56:25 +02:00
Jan de Mooij
24288ad8e7 Bug 1027528 part 14 - Make self-hosting string cloning work with Latin1 strings. r=till 2014-06-21 19:56:23 +02:00
Jan de Mooij
baa4cfe2ab Bug 1027528 part 12 - Make more code work with Latin1 strings. r=terrence 2014-06-21 19:56:21 +02:00
Brian Hackett
cf6c9fa3ca Bug 1020012 - Consolidate ScriptSources with the same source, r=luke. 2014-06-21 10:39:04 -07:00
Chris Peterson
2c6c9dce99 Bug 1013065 - Remove bug 65664's NSCAP_DONT_PROVIDE_NONCONST_OPEQ workaround. r=dbaron 2014-05-04 23:11:04 -07:00
Shu-yu Guo
694607f859 Bug 1019304 - Part 4: Add MUnreachable to end basic blocks that have bails in them. (r=sunfish) 2014-06-20 18:39:14 -07:00
Shu-yu Guo
badc6fcbf3 Bug 1019304 - Part 3: Mark rematerialized frames inside ForkJoin during ForkJoin minor collection. (r=lth) 2014-06-20 18:39:14 -07:00
Shu-yu Guo
d6ef23d207 Bug 1019304 - Part 2: Overhaul PJS bailout mechanism to be like the normal bailout mechanism. (r=nmatsakis)
- Remove ad-hoc IR tracing and AbortPar machinery.
- PJS bailouts use a different handler that unwinds the entire ForkJoin
  stack, but otherwise shares the same code as sequential bailouts.
- Each thread's stack is snapshotted as a RematerializedFrame vector.
2014-06-20 18:39:14 -07:00
Shu-yu Guo
6305034bf6 Bug 1019304 - Part 1: Teach RematerializedFrame to rematerialize bailout frames. (r=jandem) 2014-06-20 18:39:13 -07:00
Dan Gohman
773eaf4b9a Bug 1011283 - IonMonkey: Disable the DivOrModConstantI optimization. r=nbp 2014-06-20 17:51:40 -07:00
Mike Hommey
6ddd16c14e Bug 1026469 - Use AC_CHECK_LIB instead of MOZ_CHECK_PTHREADS. r=ted 2014-06-21 09:13:58 +09:00
Neil Rashbrook
1c401dad5e Bug 1026254 Broken chrome: URLs should result in error pages r=bsmedberg 2014-06-21 00:50:58 +01:00
Steve Fink
3160ea73e4 Bug 898554 - Add tooltool hashes for b2g analysis, and update the sixgill hash to a more generally useful one. r=unreviewable
--HG--
extra : rebase_source : 10d91ac36ef879c71867c118e14ce51b38bdc69b
2014-06-04 20:18:10 -07:00
Wes Kocher
7d1a7ded8a Backed out 3 changesets (bug 1019304) for spidermonkey test failures on a CLOSED TREE
Backed out changeset adc7e2d717a9 (bug 1019304)
Backed out changeset 5322e6721141 (bug 1019304)
Backed out changeset 45f24290b96e (bug 1019304)
2014-06-20 13:33:03 -07:00
Jason Orendorff
edd72c0670 Bug 1000182, part 1 - Crash @js::ThreadSafeContext::onOutOfMemory with PJS and OOM. r=shu.
Second landing, now with 100% more working in non-debug builds.
2014-06-20 12:01:01 -05:00
Jason Orendorff
581970cd1a Bug 1000182, part 0 - Support unhandlable OOM in jit-test harness. r=terrence. 2014-06-20 12:00:43 -05:00
Wes Kocher
7e8a48e265 Backed out 2 changesets (bug 1000182) for a jit test failure on a CLOSED TREE
Backed out changeset 6abf03bfb9f8 (bug 1000182)
Backed out changeset 0a2fd77083e4 (bug 1000182)
2014-06-20 11:18:58 -07:00
Shu-yu Guo
59b87a3dec Bug 1019304 - Part 3: Mark rematerialized frames inside ForkJoin during ForkJoin minor collection. (r=lth) 2014-06-20 11:08:14 -07:00
Shu-yu Guo
b8d7565067 Bug 1019304 - Part 2: Overhaul PJS bailout mechanism to be like the normal bailout mechanism. (r=nmatsakis)
- Remove ad-hoc IR tracing and AbortPar machinery.
- PJS bailouts use a different handler that unwinds the entire ForkJoin
  stack, but otherwise shares the same code as sequential bailouts.
- Each thread's stack is snapshotted as a RematerializedFrame vector.
2014-06-20 11:08:14 -07:00
Shu-yu Guo
9188d6f678 Bug 1019304 - Part 1: Teach RematerializedFrame to rematerialize bailout frames. (r=jandem) 2014-06-20 11:08:14 -07:00
Shu-yu Guo
59451e27dc Bug 1024756 - Remove unnecessary saving of registers across PJS OOL VM calls. (r=jandem) 2014-06-20 11:08:13 -07:00
Jason Orendorff
77e66219d7 Bug 1000182, part 1 - Crash @js::ThreadSafeContext::onOutOfMemory with PJS and OOM. r=shu. 2014-06-20 12:01:01 -05:00
Jason Orendorff
8ecdb98d44 Bug 1000182, part 0 - Support unhandlable OOM in jit-test harness. r=terrence. 2014-06-20 12:00:43 -05:00
Nicolas B. Pierron
38dfec1d82 Bug 1026460 - Consider observable MIR nodes as live uses. r=shu a=abillings 2014-06-20 08:20:24 -07:00
Jan de Mooij
7ddc7ed325 Bug 1027528 part 11 - Make some shell functions handle Latin1 strings. r=terrence 2014-06-20 16:20:26 +02:00
Jan de Mooij
ad2c6fbce7 Bug 1027528 part 10 - Make ObjectToSource work with Latin1 strings. r=njn 2014-06-20 16:20:24 +02:00
Jan de Mooij
bdb2f89f1d Bug 1027528 part 9 - Make more code work with Latin1 strings. r=terrence 2014-06-20 16:20:22 +02:00
Ms2ger
45efada15c Bug 1022855 - Rename nsCSSStyleSheet to mozilla::CSSStyleSheet; r=heycam
--HG--
rename : layout/style/nsCSSStyleSheet.cpp => layout/style/CSSStyleSheet.cpp
rename : layout/style/nsCSSStyleSheet.h => layout/style/CSSStyleSheet.h
2014-06-20 12:32:49 +02:00
Dan Gohman
5e90a2d991 Bug 1027866 - SpiderMonkey: Assert that an element isn't inserted into a InlineList twice. r=jandem 2014-06-20 05:53:12 -07:00
Dan Gohman
bb5df8ae30 Bug 1027853 - IonMonkey: Remove some unneeded fields from MBasicBlock r=nbp 2014-06-20 05:50:13 -07:00
Jan de Mooij
1332700889 Bug 1027528 part 8 - Make Reflect.parse handle Latin1 strings. r=njn 2014-06-20 14:44:37 +02:00
Jan de Mooij
6499dce503 Bug 1027528 part 6 - Make asm.js PropertyName serialization handle Latin1 strings. r=luke 2014-06-20 14:44:35 +02:00
Jan de Mooij
43da44b220 Bug 1027528 part 5 - Make FunctionToString handle Latin1 strings. r=luke 2014-06-20 14:44:33 +02:00
Ms2ger
1ab8344d82 Backout revision 308e51eae10c for build bustage.
--HG--
rename : layout/style/CSSStyleSheet.cpp => layout/style/nsCSSStyleSheet.cpp
rename : layout/style/CSSStyleSheet.h => layout/style/nsCSSStyleSheet.h
2014-06-20 13:00:08 +02:00
Jan de Mooij
a34828f171 Bug 1027528 part 4 - Make JSON Quote function handle Latin1 strings. r=Waldo 2014-06-20 12:39:46 +02:00
Jan de Mooij
a2a4ffc44c Bug 1027528 part 3 - Make JS_EncodeString and friends handle Latin1 strings. r=Waldo 2014-06-20 12:39:44 +02:00
Jan de Mooij
16c5b87a65 Bug 1027528 part 2 - Make AtomizeString, StringBuffer::finishAtom handle Latin1 strings. r=luke 2014-06-20 12:39:42 +02:00
Jan de Mooij
f892333a69 Bug 1027528 part 1 - Make Function constructor handle Latin1 strings. r=njn 2014-06-20 12:39:40 +02:00
Jan de Mooij
ec5bbed791 Bug 1026438 part 6 - Make StringHasRegExpMetaChars work with Latin1 strings. r=bhackett 2014-06-20 12:39:39 +02:00
Ms2ger
530bc74c8d Bug 1022855 - Rename nsCSSStyleSheet to mozilla::CSSStyleSheet; r=heycam
--HG--
rename : layout/style/nsCSSStyleSheet.cpp => layout/style/CSSStyleSheet.cpp
rename : layout/style/nsCSSStyleSheet.h => layout/style/CSSStyleSheet.h
2014-06-20 12:32:49 +02:00
Dan Gohman
5a4dac7cfb Bug 1027842 - Make jit_test.py search in PATH to find the js shell command. r=terrence 2014-06-19 18:50:09 -07:00
Dan Gohman
07638d0296 Bug 1027848 - SpiderMonkey: Delete obsolete command-line options r=h4writer 2014-06-19 18:50:06 -07:00
Wes Kocher
dff4f03174 Backed out 2 changesets (bug 1026008, bug 1025264) for debug crashtest leaks on a CLOSED TREE
Backed out changeset d7ab14487c62 (bug 1026008)
Backed out changeset 0b04aefdd3e3 (bug 1025264)
2014-06-19 17:13:12 -07:00
Eric Faust
c2bc7d3543 Bug 1007334 - Followup: More test futzing for readability and Waldo-appeasement on a CLOSED TREE. (r=test-only) 2014-06-19 17:11:11 -07:00
Eric Faust
89eab84346 Bug 1007334 - Followup: Fix bogus test for new behavior on a CLOSED TREE. (r=jwalden over IRC) 2014-06-19 16:41:46 -07:00
Neil Rashbrook
1aeb541237 Bug 1025264 Broken chrome: URLs should result in error pages r=bsmedberg 2014-06-19 23:56:02 +01:00
Nicholas D. Matsakis
e7fb87053d Bug 1022356 Part 01 -- Move from TypedProtoSet to TypedObjectPrediction r=shu 2014-03-12 08:18:28 -04:00
Eric Faust
68d10f3b75 Bug 1007334 - Clean up the GetOwnPropertyNames/Keys situation for ES6 proxies. (r=jorendorff) 2014-06-19 15:34:02 -07:00
Douglas Crosher
e1a71ab79c Bug 1026905 - IonMonkey: remove the instruction counters from the script counters. r=bhackett 2014-06-18 16:22:03 +10:00
Jeff Walden
1dbd12f10f Bug 1027693 - Add a test for top-level let not creating a variable that'd show up in |with (global)| scope. r=jorendorff over IRC on original landing, minor adjustments to eliminate a log-highlighting false positive r=trivial
--HG--
extra : rebase_source : a43dd2daa969aafbab9d1354c82e2a65ffbdd907
2014-06-13 18:44:14 -07:00
Shu-yu Guo
16f8799b22 Bug 1026139 - Test. (r=jimb) 2014-06-19 12:22:11 -07:00
Shu-yu Guo
7b4738fb89 Bug 1026139 - Fix patching already patched frames in debug mode OSR. (r=jandem) 2014-06-19 12:22:11 -07:00
Bobby Holley
197040b5d2 Bug 976148 - Tests. r=gabor 2014-06-19 09:57:06 -07:00
Bobby Holley
dae7d9b796 Bug 976148 - Support the .name and .length properties of Function instances. r=gabor 2014-06-19 09:57:06 -07:00
Bobby Holley
9a3b06e084 Bug 976148 - Support the 'prototype' property for standard constructors. r=gabor 2014-06-19 09:57:06 -07:00
Bobby Holley
8c8ec10cee Bug 976148 - Implement Xrays to Function objects. r=gabor 2014-06-19 09:57:06 -07:00
Bobby Holley
aa8f8da6b1 Bug 976148 - Add a mechanism to identify a standard constructor. r=luke 2014-06-19 09:57:05 -07:00
Ed Morley
b160b2e1cd Backed out changeset ac74a1815c66 for failing intermittently after landing as a 'no bug' \o/ 2014-06-19 17:48:22 +01:00
Jan de Mooij
567f1d7bc3 Bug 1019585 part 8 - Make StrReplaceRegexpRemove handle Latin1 strings. r=terrence 2014-06-19 15:43:36 +02:00
Jan de Mooij
932b5682ea Bug 1019585 part 7 - Make StringRegExpGuard::flattenPattern handle Latin1 strings. r=terrence 2014-06-19 15:43:34 +02:00
Jan de Mooij
0ee6f5488c Bug 1019585 part 6 - Make str_replace regex case handle Latin1 strings. r=terrence 2014-06-19 15:43:32 +02:00
Jan de Mooij
dcc8818130 Bug 1026438 followup - Allow unaligned 16-bit loads in the ARM simulator, as irregexp emits them for Latin1 strings. r=nbp on IRC 2014-06-19 14:28:36 +02:00
Jan de Mooij
14eb15d662 Bug 1019585 part 5 - Make BuildDollarReplacement handle Latin1 strings. r=terrence 2014-06-19 12:59:46 +02:00
Jan de Mooij
1c21dce8b8 Bug 1019585 part 4 - Make str_replace dollar search handle Latin1 strings. r=terrence 2014-06-19 12:59:44 +02:00
Jan de Mooij
85ab572a33 Bug 1026438 part 5 - Make irregexp work with Latin1 strings. r=bhackett 2014-06-19 12:59:40 +02:00
Makoto Kato
1fa8bbcc1d Bug 722215 - dist\include\jsapi.h(3526) : warning C4267: 'argument' : conversion from 'size_t' to 'int', possible loss of data. r=luke 2014-06-19 18:54:19 +09:00
Nicolas B. Pierron
8c2830477e Bug 1022232 - Add ConvertToInt32Policy to MLimitedTruncate. r=bbouvier a=abillings 2014-06-19 02:01:04 -07:00
Nicolas B. Pierron
ec1d125e97 Bug 1011745 - Correctly distinguish loop header phis. r=h4writer a=abillings 2014-06-19 02:01:03 -07:00
Jan de Mooij
349eaf6723 Bug 1026438 part 4 - Make StringMatch regexp code work with Latin1 strings. r=bhackett 2014-06-19 09:55:31 +02:00
Jan de Mooij
41d8a0a22e Bug 1026438 part 3 - Allow storing separate Latin1/TwoByte versions of regex code. r=bhackett 2014-06-19 09:52:35 +02:00
Bobby Holley
6e05608e3e Bug 1026860 - Remove mThisObjects and use the function parent instead. r=luke,khuey 2014-06-18 22:36:42 -07:00
Nicholas Nethercote
386e3bffeb Bug 1026319 - Convert the second quarter of MFBT to Gecko style. r=froydnj.
--HG--
extra : rebase_source : 98d2557c7fe4648d79143c654e7e31767fca2e65
2014-06-12 23:34:08 -07:00
Nicholas Nethercote
d3fca615dc Bug 1013078 (part 3) - Remove references to now-removed leakyLog*() functions in annotations.js. r=sfink.
--HG--
extra : rebase_source : 61a8f2fb69beece98d1eab0e92051a221106440e
2014-06-18 17:41:58 -07:00
Eric Faust
fdcb1706bc Bug 980565 - Remove defunct Proxy.[[HasOwnProperty]]. (r=jorendorff)
--HG--
rename : js/src/jit-test/tests/proxy/testDirectProxyHasOwn1.js => js/src/jit-test/tests/proxy/testDirectProxyHasOwnProperty.js
2014-06-18 19:46:07 -07:00
Birunthan Mohanathas
f475f7189b Bug 1026535 - Fix mismatched class/struct tags. r=ehsan 2014-06-18 17:57:51 -07:00
Birunthan Mohanathas
ec8396a564 Bug 1016240 - Exterminate CR+LF line endings. r=briansmith,cpearce,ehsan,gavin 2014-06-18 17:56:02 -07:00
Nicholas Nethercote
39f29c384a Bug 1010064 - Allow memory reports to be anonymized. r=bsmedberg.
--HG--
extra : rebase_source : 5eb756b17a97e751deb0f47e909fdb35533cb23b
2014-05-20 23:06:54 -07:00
Eric Faust
dea30e7893 Bug 1011660 - Remove separate DOMClass struct. (r=bz) 2014-06-18 13:19:19 -07:00
Eric Faust
24f9ca420b Bug 1022736 - Allow cacheing of GlobalObject getters on non-global scopechains. (r=jandem) 2014-06-18 13:00:17 -07:00
Nick Fitzgerald
705db2c049 Bug 1004110 - Memoize PCToLineNumber lookups in SavedStacks. r=terrence 2014-06-17 16:32:00 -04:00
Jan de Mooij
c4e38ae02d Bug 1026680 part 5 - Make escape work with Latin1 strings. r=njn 2014-06-18 11:33:52 +02:00
Jan de Mooij
319e93f6ab Bug 1026680 part 4 - Cleanup str_escape. r=njn 2014-06-18 11:33:52 +02:00
Jan de Mooij
9db01e655e Bug 1026680 part 3 - Make unescape work with Latin1 strings. r=njn 2014-06-18 11:33:51 +02:00
Jan de Mooij
a0bcaa8fb4 Bug 1026680 part 2 - Make encodeURI* work with Latin1 strings. r=njn 2014-06-18 11:33:51 +02:00
Jan de Mooij
76806f2deb Bug 1026680 part 1 - Make decodeURI* work with Latin1 strings. r=njn 2014-06-18 11:33:51 +02:00
Ryan VanderMeulen
97316b794a Merge m-c to inbound on a CLOSED TREE. a=merge 2014-06-18 13:29:24 -04:00
Ryan VanderMeulen
fdda11b713 Backed out changeset 9d86b9442f0b (bug 975011) for Windows debug test bustage that only appears on clobber builds.
CLOSED TREE
2014-06-18 13:21:57 -04:00
Luke Wagner
253ae04d32 Bug 1026877 - OdinMonkey: tidy up AsmJSModule, part 2 (r=bbouvier)
--HG--
extra : rebase_source : e34a44dae9619833aeb4b05c00af838daaf42b71
2014-06-18 10:20:01 -05:00
Luke Wagner
2d6f28c45a Bug 1026877 - OdinMonkey: tidy up AsmJSModule, part 1 (r=bbouvier)
--HG--
extra : rebase_source : c0c4face5eb8aa70e1f9cc89fc13e3c7522a1f88
2014-06-18 08:57:19 -05:00
Cameron Kaiser
48747072fc Bug 1015824 - Fix 64-bit ints in StructuredClone on big endian systems. r=sfink 2014-06-12 20:28:52 -07:00
Lars T Hansen
2b00ecc700 Bug 1024567: use correct predicate to assert that objects are not inside GGC nursery rather than inside any nursery. r=shu 2014-06-16 10:14:38 +02:00
Steve Fink
d313788ccc Bug 975011 - Allow js/src/configure to invoke the in-tree NSPR configure. r=glandium 2014-02-25 14:15:16 -08:00
Ryan VanderMeulen
75b29a3306 Backed out changeset aca2ec2457ec (bug 1016738) for re-introducing frequent WebRTC crashes. 2014-06-17 21:12:43 -04:00
Lars T Hansen
1cb4f83155 Bug 1024756: Track the frame size properly for NewDenseArray and rest arguments. Test case. r=shu 2014-06-16 10:45:59 +02:00
Sushant Dinesh
4e17ef0462 Bug 1026512. Add collectRangeInfoPreTrunc for MToInt32. r=h4writer. 2014-06-17 21:22:18 +02:00
Sushant Dinesh
8baa4011f5 Bug 1026365. Add analyzeEdgeCasesForward and collectRangeInfoPreTrunc for MMod. r=h4writer 2014-06-17 21:22:15 +02:00
Sushant Dinesh
e9f4f528db Bug 1025050. Add collectRangeInfoPreTrunc for MMul. r=h4writer. 2014-06-17 21:22:12 +02:00
Sushant Dinesh
e45b4c4286 Bug 1023300. Add collectRangeInfoPreTrunc for MDiv. r=h4writer. 2014-06-17 21:22:08 +02:00
Boris Zbarsky
fd7e32dab4 Bug 1019194 part 1. Get rid of nsIIndexedDatabaseManager. r=paul,khuey,mossop 2014-06-17 15:01:47 -04:00
Bill McCloskey
f78d78d6ea Bug 1016738 - Simplify/fix "dead compartment" logic (r=luke,jonco) 2014-06-17 11:20:33 -07:00
Bobby Holley
427a9042b4 Bug 987163 - Implement Xrays for TypedArrays. r=gabor 2014-06-17 10:16:08 -07:00
Bobby Holley
b5d9522f1e Bug 987163 - Drop special COW support for TypedArrays. r=gabor
From now on, if someone wants to expose a TypedArray to content, they should
use Cu.cloneInto.
2014-06-17 10:16:08 -07:00
Bobby Holley
a3cdc9da90 Bug 987163 - Fix some squelched OOMs. r=gabor 2014-06-17 10:16:08 -07:00