Commit Graph

43891 Commits

Author SHA1 Message Date
Mike Hommey
cb2d569cec Bug 1246894 - Remove msys-perl-wrapper. r=mshal
msys-perl-wrapper was used to transform windows paths after the -I flag,
which was a preprocessor flag, which a) doesn't exist anymore and b) the
preprocessor has not even be in perl for years.
2016-02-10 10:12:22 +09:00
Morgan Phillips
91f156d728 Bug 1246860 - Preserve holes when sorting arrays with a custom comparator. r=till 2016-02-09 18:47:34 -06:00
Till Schneidereit
a881759b48 Bug 1246927 - Fix OOM handling in usages of GlobalObject::maybeGetIntrinsicValue. r=arai 2016-02-10 00:37:35 +01:00
Till Schneidereit
94bdade0e3 Bug 1246926 - Remove now-redundant hack for making TypedArray#values and TypedArray#@@iterator be the same function. r=evilpie 2016-02-10 00:36:08 +01:00
Tom Schuster
d0d3343d7d Bug 1246318 - Remove support for new style iterators with for..in. r=efaust 2016-02-10 00:12:25 +01:00
Tom Schuster
9ebc4ea621 Bug 1246318 - Remove the enumerate trap from ES6 proxies. r=efaust 2016-02-10 00:12:24 +01:00
Tom Schuster
369af34f4a Bug 1246318 - Make the proxy enumerate trap non-standard. r=efaust 2016-02-10 00:12:24 +01:00
Bobby Holley
37e51dfb2c Bug 1244222 - Tests. r=bz 2016-02-09 14:55:52 -08:00
Bobby Holley
fcec7f579e Bug 1244222 - Check for function interfaces in DelegatedQueryInterface. r=bz 2016-02-09 14:55:49 -08:00
Boris Zbarsky
c1c0bcad04 Bug 1243001 part 7. Stop wrappercaching dom::Promise when SPIDERMONKEY_PROMISE is defined. r=peterv
nsWrapperCache expects the object it stores to have an ObjectMoved op that will
notify the wrapper cache when the object is moved.  SpiderMonkey promises don't
have a way to do this.

The XPCConvert changes are needed to allow code that passes around Promise
objects as nsISupports to continue working instead of ending up with
double-wrapped nsISupports (XPCWrappedNative for an nsISupports XPCWrappedJS)
around the SpiderMonkey Promise.
2016-02-09 17:40:31 -05:00
Boris Zbarsky
a01b829460 Bug 1243001 part 2. Make Promise an empty [NoInterfaceObject] interface when SPIDERMONKEY_PROMISE is defined. r=peterv
The idea is to not define a "Promise" property on the global and not generate
any of the methods, since SpiderMonkey will implement all of those, but to keep
some of the conversion to/from JS logic and the IDL parser validation bits that
we have right now.  Once we can assume SPIDERMONKEY_PROMISE we can probably
change how the "Promise" identifier is handled by the IDL parser and how the
resulting type is handled by codegen, but for now we're aiming for minimal
changes.
2016-02-09 17:40:30 -05:00
Terrence Cole
2a4ae56ba4 Bug 1245261 - Use an atomic to safely access gcTriggerBytes; r=jonco 2016-02-03 15:49:14 -08:00
Terrence Cole
aa48ef9f23 Bug 1245965 - Fix an OOM in ObjectGroup::newPlainObject; r=till 2016-02-09 14:04:46 -08:00
Terrence Cole
3c8bc48f9b Bug 1245965 - Fix and OOM handling failure in NewMemInfoObject; r=sfink 2016-02-09 14:04:37 -08:00
Terrence Cole
c98b12ac59 Bug 1244956 - Simplify Wrapper rooting mechanism; r=sfink 2016-02-02 09:32:16 -08:00
Jakob Stoklund Olesen
6b5bc9817d Bug 1244254 - Simplify MSimd* constructors. r=nbp
Now that all the MSimd* instructions require unboxed arguments of the right
type, there is no need to explicitly pass in the specialization MIRType when
creating these instructions.

- Remove the specialization MIRType argument from instruction constructors,
  ::New() and ::NewAsmJS() functions.

- Add tighter argument checking assertions in the constructors.
2016-02-09 08:46:00 -08:00
Jakob Stoklund Olesen
006cd3add6 Bug 1244254 - Add SimdType to MSimdBox and MSimdUnbox. r=nbp
The MIRType is not specific enough for MSimdUnbox to distinguish signed from
unsigned SIMD types, and when generating code for a MSimdBox, we can't look at
the templateObject to get the SimdType because it belongs to a different thread.

Pass a SimdType to CodeGenerator::registerSimdTemplate() instead of inspecting
the template object.

Delete MIRTypeToSimdType() which can't be accurate because MIRType doesn't
carry signedness information.

Add an optimization to unboxSimd(): With a SimdType on MSimdBox, we can
recognize the very common pattern where unboxSimd() gets called with an MSimdBox
value. In the types check out, just reuse the MSimdBox input and don't even
inert the check code.
2016-02-09 08:46:00 -08:00
Jakob Stoklund Olesen
16b8c20374 Bug 1244254 - Replace MaybeSimdUnbox with assertions. r=nbp
The SIMD type policies no longer needd to insert MSimdUnbox instructions before
SIMD operations. This is already handled before the SIMD operations are created.

Assert that the MIRTypes are as expected instead.
2016-02-09 08:46:00 -08:00
Jakob Stoklund Olesen
7c868a6a98 Bug 1244254 - Check SIMD arguments in IonBuilder. r=nbp
When inlining SIMD operations that take a SIMD type as an argument, explicitly
insert a type checking MSimdUnbox using the new unboxSimd() function. This
requires passing down the SimdType argument from inlineSimd().

- Remove SimdSign and other arguments that can be inferred from the SimdType.

- Add a new function inlineSimdShift() to handle the shift operations where the
  second argument is a scalar.

- Add a GetSimdLanes() function to SIMD.h which counts the number of lanes in a
  SIMD type.
2016-02-09 08:46:00 -08:00
Jakob Stoklund Olesen
162a447b7b Bug 1244254 - Add IonBuilder::unboxSimd(). r=nbp
This helper function inserts an MUnboxSimd node which checks the arguments to
an inlined SIMD operation.

Use it for inlineSimdCheck() which now takes a SimdType argument. Also make
inlineSimdCheck produce a value that is a box/unbox pair instead of simply
returning its argument. This means that any SIMD type checking and unboxing
will happen at the time the check() function is executed, rather than when its
result is used. This is usually what you want.
2016-02-09 08:46:00 -08:00
Jakob Stoklund Olesen
f32c213b4a Bug 1244254 - Pass a SimdType to inlineSimd(). r=nbp
We now have functions to create a (MIRType, SimdSign) from a SimdType, so use
those instead.

Calling SimdTypeToMIRType() also has the benefit of verifying that the list of
supported types in this function is consistent with the types in InlinableNative.

Following patches will push the SimdType to MIRType conversion further down the
call tree.
2016-02-09 08:46:00 -08:00
Jakob Stoklund Olesen
138ad03336 Bug 1244254 - Move SimdTypeToMIRType into the header. r=nbp
Provide two versions of this function:

- MaybeSimdTypeToMIRType returns false for unsupported SimdTypes.
- SimdTypeToMIRType asserts that the type is supported.

The conditional one is used in IonBuilder::inlineConstructSimdObject() to
provide a 'SimdTypeNotOptimized' outcome for JIT coach.
2016-02-09 08:45:59 -08:00
Bogdan Postelnicu
5027f4c4e1 Bug 1246157 - avoid memory leak when bindings->init fails. r=jcoppeard 2016-02-08 00:53:00 +01:00
Dan Gohman
59c7ba519c Bug 1246433 - BaldrMonkey: Implement integer and float literals. r=luke 2016-02-09 05:39:01 -08:00
Benjamin Bouvier
43d568d2ac Bug 1246403: Implement call_import when caller returns float32; r=luke 2016-02-08 11:29:56 +01:00
Benjamin Bouvier
93cadf3a5a Bug 1246331: Make unary decoding expect the real type, not the parent type; r=sunfish 2016-02-08 11:57:11 +01:00
Lars T Hansen
47f1c05064 Bug 1246750 - fix argument ordering to futexWakeOrRequeue + test cases. r=bbouvier 2016-02-08 21:39:47 +01:00
Luke Wagner
05d4fed01d Bug 1240583 - add thunkWithPatch/patchThunk (r=jandem) 2016-02-08 20:59:04 -06:00
Luke Wagner
54a09e615d Bug 1240583 - Odin: replace retargetWithOffset (r=bbouvier) 2016-02-08 20:59:04 -06:00
Luke Wagner
557b22458c Bug 1240583 - Odin: record and assert whether a function is defined yet (r=bbouvier) 2016-02-08 20:59:03 -06:00
Luke Wagner
24a7718690 Bug 1240583 - Odin: remove the sync interrupt stub (r=bbouvier) 2016-02-08 20:59:03 -06:00
Luke Wagner
8ddfe8db2b Bug 1240583 - Odin: refactor x86/x64 loads/stores (r=sunfish) 2016-02-08 20:59:03 -06:00
Wes Kocher
474427d0de Backed out 2 changesets (bug 1246433) for wError bustage
Backed out changeset 94bc06efafd9 (bug 1246433)
Backed out changeset ccaa937df50d (bug 1246433)
2016-02-08 17:23:16 -08:00
Dan Gohman
53d1a03526 Bug 1246433 - BaldrMonkey: Avoid shifting a negative signed value, on a CLOSED TREE. r=me 2016-02-08 17:05:40 -08:00
Dan Gohman
0eae04c202 Bug 1238592 - IonMonkey: Optimize away any OSR fixup blocks that are ultimately unreachable. r=nbp 2016-02-08 16:11:37 -08:00
Dan Gohman
5884b53c15 Bug 1246433 - BaldrMonkey: Implement integer and float literals. r=luke 2016-02-08 14:55:18 -08:00
Myk Melez
42a2e4cb04 Bug 1238576 - disable mozApps API on desktop/Android; r=ehsan,ochameau,bz,mcmanus,jmaher,marco 2016-02-08 11:24:22 -08:00
Wes Kocher
71f037dc8c Backed out changeset 343732a03719 (bug 1244828) for asm bustage 2016-02-08 10:53:27 -08:00
Wes Kocher
a3f3766574 Backed out changeset 05ea15825d81 (bug 1244828) 2016-02-08 10:53:26 -08:00
Wes Kocher
d6a0ff9f7b Backed out changeset 90b24727ebcd (bug 1244828) 2016-02-08 10:53:24 -08:00
Wes Kocher
59782a07a0 Backed out changeset 9668af33990e (bug 1244828) 2016-02-08 10:53:23 -08:00
Wes Kocher
ed20f90606 Backed out changeset 092754992cef (bug 1243397) 2016-02-08 10:53:22 -08:00
Wes Kocher
ec01762d5c Backed out changeset c52611492e87 (bug 1245154) 2016-02-08 10:53:04 -08:00
Nicolas B. Pierron
146df69dfc Bug 1245154 - Ensure enough ballast space in LiveBundle::FallibleNew. r=h4writer 2016-02-08 17:38:27 +00:00
Nicolas B. Pierron
b5047fcc62 Bug 1243397 - Ensure enough ballast space in LiveRange::FallibleNew. r=h4writer 2016-02-08 17:38:27 +00:00
Nicolas B. Pierron
c1fd7c8228 Bug 1244828 - Ensure enough ballast space in CallPolicy::adjustInputs. r=bbouvier 2016-02-08 17:38:27 +00:00
Nicolas B. Pierron
9cd3fe9d67 Bug 1244828 - Ensure enough ballast space in AllDoublePolicy::adjustInputs. r=bbouvier 2016-02-08 17:38:27 +00:00
Nicolas B. Pierron
6f373d1f31 Bug 1244828 - Ensure enough ballast space in TypeAnalyzer::adjustPhiInputs. r=h4writer 2016-02-08 17:38:27 +00:00
Nicolas B. Pierron
f214609568 Bug 1244828 - Ensure enough ballast space in TypeAnalyzer::adjustInputs. r=h4writer 2016-02-08 17:38:26 +00:00
Jan de Mooij
7ec509c581 Bug 1244098 - Attempt to fold JSOP_IN to false in IonBuilder based on TI. r=bhackett 2016-02-08 15:41:42 +01:00