53262 Commits

Author SHA1 Message Date
Steve Fink
2fd69645f5 Bug 1247666 - Correctly test isSuppressConstructor, r=jonco
--HG--
extra : rebase_source : cb756ce8aa84d17c8279e272d49281fd5a55e338
extra : amend_source : 5efe68066999a3429d6e9d0bffd8d92c3f5de3fe
2016-02-15 15:40:47 -08:00
Steve Fink
8624ceb0db Bug 1249448 - Handled unified (C4) constructors, r=terrence
--HG--
extra : rebase_source : 0cb4b233c588db1fb1c69bb71c28b18d37b7bff3
2016-02-18 14:52:56 -08:00
Steve Fink
ab3550c2df Bug 1247666 - Do not require all functions to have a PEdgeCallInstance, r=jonco
--HG--
extra : rebase_source : 04ce7c5af4b09972c03633e7306ad5cca81cc534
2016-02-15 15:40:32 -08:00
Steve Fink
ad179d42f2 Bug 1249183 - Suppress GC harder, r=terrence
--HG--
extra : rebase_source : f6d1c9deda5da4fa0c8852705995d87a8d7c0d19
2016-02-17 17:42:12 -08:00
Steve Fink
2ba7941cda Bug 1247813 - Add a very specific annotation for paramBuffer usage to avoid changing a whole bunch of platform-specific code just to avoid a false positive, r=terrence
--HG--
extra : rebase_source : b67d01031b21d4455ef7aa2416f45953b4c7074f
2015-09-29 13:39:37 -07:00
Steve Fink
0c4cf32cf7 Bug 1248502 - Remove obsolete variants and configure flags, r=terrence
--HG--
extra : rebase_source : 4970298dfec66e04b916e5d3cb6364113b265270
2016-02-15 16:45:22 -08:00
Jan de Mooij
9f638a1e8e Bug 1248598 part 3 - Enable i64 on x64 and various related changes. r=sunfish 2016-02-20 14:46:44 +01:00
Jan de Mooij
bf32789a64 Bug 1248598 part 2 - Reject wasm i64 imports/exports as JS doesn't have an int64 type. r=luke 2016-02-20 14:45:34 +01:00
Xidorn Quan
375b4bcd4d Bug 1248851 part 1 - Explicitly mark some release() calls result-unused. r=Waldo
MozReview-Commit-ID: Cgubemm1Et3

--HG--
extra : source : c67a746cab7e2abd5b7431157980c9ead4f51bea
2016-02-20 11:06:25 +08:00
Dan Gohman
e06d73de68 Bug 1249787 - BaldrMonkey: Fix wasm string hex escape parsing endianness. r=luke 2016-02-19 19:01:22 -08:00
Dan Gohman
74880f05c8 Bug 1249787 - OdinMonkey: Add offset and align fields to the encoding of load and store. r=luke 2016-02-19 19:01:06 -08:00
Dan Gohman
d17e186979 Bug 1249787 - BaldrMonkey: Add the testcase, which was mistakenly omitted from the main push. r=luke 2016-02-19 19:00:57 -08:00
Shu-yu Guo
eb004928b6 Bug 912337 - Followup: fix missing #include on a CLOSED TREE. 2016-02-19 15:04:36 -08:00
Shu-yu Guo
31173be363 Bug 912337 - Make DebuggeeWouldRun report filename and lineno. (r=me) 2016-02-19 13:46:07 -08:00
Shu-yu Guo
c80afef075 Bug 912337 - Make a pref to toggle whether DebuggeeWouldRun is a warning or an error. (r=jimb) 2016-02-19 13:46:07 -08:00
Shu-yu Guo
77aec05078 Bug 912337 - Update existing tests. (r=jimb) 2016-02-19 13:46:07 -08:00
Shu-yu Guo
4a788198d0 Bug 912337 - Tests. (r=jimb) 2016-02-19 13:46:07 -08:00
Shu-yu Guo
e885faff01 Bug 912337 - Prohibit debugger code from re-entering debuggee code. (r=jimb) 2016-02-19 13:46:07 -08:00
Shu-yu Guo
49918cf8d3 Bug 912337 - Update docs on Debugger.DebuggeeWouldRun. (r=jimb) 2016-02-19 13:46:07 -08:00
Shu-yu Guo
b02fc05d4b Bug 912337 - Make a new Error subclass: Debugger.DebuggeeWouldRun. (r=jimb) 2016-02-19 13:46:07 -08:00
Tooru Fujisawa
2ea0e75ae3 Bug 1249235 - Store RegExp flags into single slot. r=h4writer 2016-02-20 05:43:50 +09:00
Tooru Fujisawa
945772cc87 Bug 1249588 - Remove unnecessary type information from RegExpObject. r=jandem 2016-02-20 05:43:50 +09:00
Tooru Fujisawa
b7489e7339 Bug 1248405 - Recover from JSObject::getGroup OOM in CanOptimizeForDenseStorage. r=jandem 2016-02-20 05:43:50 +09:00
Tooru Fujisawa
e1d6e9b96a Bug 1248930 - Use Int32Value in ArrayBufferObject::BYTE_LENGTH_SLOT. r=lth 2016-02-20 05:43:49 +09:00
Luke Wagner
558ac67492 Bug 1249531 - Baldr: add text format and encoding support for control operators (r=mbx)
MozReview-Commit-ID: 9nPBmSGsbr2
2016-02-19 14:29:48 -06:00
Luke Wagner
dfaf5693e8 Bug 1249525 - Baldr: accept - and $ in text names (r=sunfish)
MozReview-Commit-ID: 3VMBPMN30iB
2016-02-19 14:26:51 -06:00
Luke Wagner
528c3ac455 Bug 1249525 - Baldr: accept integer cases in float constants (r=sunfish)
MozReview-Commit-ID: InvgG1lVjhL
2016-02-19 14:26:51 -06:00
Luke Wagner
0c13aa023e Bug 1249525 - Baldr: change order of load/store immediates/subexpressions (r=sunfish)
MozReview-Commit-ID: 9hug1Zipy51
2016-02-19 14:26:51 -06:00
Luke Wagner
b63f04a989 Bug 1249524 - Baldr: add the other (param) declaration form to the text format (r=mbx)
MozReview-Commit-ID: o6CjKm19LM
2016-02-19 14:26:48 -06:00
Luke Wagner
0fa868f3ee Bug 1249523 - Baldr: add return (r=mbx)
MozReview-Commit-ID: KQAIj07NJRN
2016-02-19 13:26:29 -06:00
Luke Wagner
49f8e92347 Bug 1249316 - Baldr: move testing functions back into TestingFunctions.cpp (r=jandem)
MozReview-Commit-ID: GNGpqtYB9Hu
2016-02-19 13:26:26 -06:00
Heiher
ef2b4e23a4 Bug 1249513 - OdinMonkey: MIPS: Clean up long jump patching in asm.js. r=luke
---
 js/src/asmjs/WasmGenerator.cpp | 14 --------------
 1 file changed, 14 deletions(-)
2016-02-19 17:09:18 +08:00
Heiher
d0bf7f854f Bug 1249513 - OdinMonkey: MIPS: Refactor thunkWithPatch via relative branch. r=luke
---
 .../jit/mips-shared/MacroAssembler-mips-shared.cpp | 26 +++++++++++++---------
 1 file changed, 16 insertions(+), 10 deletions(-)
2016-02-19 17:09:13 +08:00
Heiher
818dfeafe9 Bug 1249493 - IonMonkey: MIPS: Fix crash after enable shared stubs. r=h4writer
---
 .../jit/mips-shared/SharedICHelpers-mips-shared.h  | 38 +++++++++++++++++++---
 1 file changed, 34 insertions(+), 4 deletions(-)
2016-02-19 17:09:08 +08:00
Heiher
6739242422 Bug 1249493 - IonMonkey: MIPS: Move SharedICHelpers-mips32/64 to mips-shared. r=arai
---
 js/src/jit/SharedICHelpers.h                       |   6 +-
 .../jit/mips-shared/SharedICHelpers-mips-shared.h  | 352 ++++++++++++++++++++
 js/src/jit/mips32/SharedICHelpers-mips32.h         | 353 ---------------------
 js/src/jit/mips32/Trampoline-mips32.cpp            |   2 +-
 js/src/jit/mips64/SharedICHelpers-mips64.h         | 350 --------------------
 js/src/jit/mips64/Trampoline-mips64.cpp            |   2 +-
 6 files changed, 356 insertions(+), 709 deletions(-)
 create mode 100644 js/src/jit/mips-shared/SharedICHelpers-mips-shared.h
 delete mode 100644 js/src/jit/mips32/SharedICHelpers-mips32.h
 delete mode 100644 js/src/jit/mips64/SharedICHelpers-mips64.h
2016-02-19 17:09:03 +08:00
Jan de Mooij
78b036ef46 Bug 1248007 part 2 - Remove unused This operands from LCallDirectEval. r=nbp 2016-02-19 09:48:02 +01:00
Jan de Mooij
4496b3d69c Bug 1248007 part 1 - Refactor useBox and friends to work more like useRegister. r=nbp 2016-02-19 09:48:00 +01:00
Dan Gohman
1343c051bc Bug 1249482 - OdinMonkey: Remove the needsBoundsCheck flag from the frontend. r=luke 2016-02-18 23:12:43 -08:00
Wes Kocher
a39d4038d7 Backed out changeset 40f18aee119c (bug 1232685) for xpcshell crashes in test_framebindings-03.js
--HG--
extra : commitid : 97lAjWAXGil
2016-02-18 16:57:32 -08:00
Jakob Olesen
dcd04d21d2 Bug 1201934 - Remove SIMD shiftRight***ByScalar. r=sunfish
These functions have been replaced by the shiftRightByScalar function which
behaves differently on signed and unsigned SIMD types.

Add some Uint32x4 tests to make up for the reduced test coverage.

MozReview-Commit-ID: 6BKSMR07zDa
2016-02-18 15:37:10 -08:00
Eric Faust
4db70c3293 Bug 1232685 - Prevent forcing illegal return values in derived class constructors. (r=shu) 2016-02-18 14:10:35 -08:00
Hannes Verschore
042024dbab Bug 1249252: SharedStubs - Add typebarrier to getprop shared stub, r=jandem 2016-02-18 15:17:38 -05:00
Jakob Stoklund Olesen
7aac99e67e Bug 1244889 - Disallow unsigned SIMD types for global variables. r=luke
Treat global variables the same as function arguments and return values: No
unsigned SIMD types allowed. This simplifies interoperation with WebAssembly.

Add a Type::isGloblVarType() which can be used to check for valid types.

Fold CheckGlobalVariableImportExpr into its single caller.

Remove Type::var(ValType) and Type::ret(ExprType). These backwards conversions
were only used for diagnostics, and we can use the existing ToCString() function
for that. Move this function form Wasm.cpp to WasmTypes.h so it can be used
everywhere.

MozReview-Commit-ID: FolGlCTVmgZ
2016-02-18 11:38:15 -08:00
Jakob Olesen
2ac6c34c37 Bug 1244889 - Fix Float32x4toUint32x4 for asm.js. r=bbouvier
The machine code needs to branch to wasm::JumpTarget::ConversionError instead of
bailing out.

MozReview-Commit-ID: 63vyHt2eJj
2016-02-18 11:38:15 -08:00
Jakob Stoklund Olesen
f1fab21ec7 Bug 1244889 - Add support for Uint32x4 as an asm.js type. r=luke
Add Uint32x4 to NumLit and Type classes.

Reject unsigned SIMD types in function signatures to avoid confusion when
interoperating with WebAssembly.

MozReview-Commit-ID: 7FvQKKITVKR
2016-02-18 11:38:15 -08:00
Jakob Stoklund Olesen
a54371fee5 Bug 1244889 - Handle all SIMD types in js::SimdTypeToName. r=bbouvier
Also move IsSimdTypeName() into builtin/SIMD.cpp and handle all SIMD type names
there too.

Use IsSimdValidOperationType(simdType, SimdOperation::Constructor) to check for
supported SIMD types in asm.js instead of depending on IsSimdTypeName() to only
return true on supported types.

MozReview-Commit-ID: FZrnPZc8zmJ
2016-02-18 11:38:15 -08:00
Jakob Stoklund Olesen
f0f1ff5736 Bug 1244889 - Amend wasm opcodes for unsigned I32x4 operations. r=bbouvier
The wasm types don't have signed/unsigned SIMD integers. Add enumerators for
those unsigned simd operations that behave differently than their signed I32x4
counterparts.

Implement wasm code generation for unsigned SIMD types.

Split the convertSimd() function into two variants for conversions and bitcasts
respectively. Add a SimdSign argument to the conversion variants.

Add a SimdSign argument to the extractSimdElement() function. This is not
strictly needed for I32x4 since wasm uses I32 for both signed and unsigned ints.
It will be required for the I8x16 and I16x8 types, though, because the lane
value needs to be extended to an I32.

Split out the binarySimdComp function for binary comparisons, and thread
through a SimdSign argument.

Add a SimdSign to EmitSimdOp() and thread it through where needed.

MozReview-Commit-ID: B8FHOHzjbBX
2016-02-18 11:38:15 -08:00
Jakob Stoklund Olesen
f98c4c02cd Bug 1244889 - Remove trivial SIMD NewAsmJS factories. r=bbouvier
The MSimd*::NewAsmJS() factory functions are not longer needed since the normal
MSimd*::New() functions also require the SIMD arguments to be unboxed since
bug 1244254.

Remove the trivial NewAsmJS functions here. The remaining SIMD NewAsmJS
functions will be removed in the next commit.

MozReview-Commit-ID: JtgRKZTmrzS
2016-02-18 11:38:15 -08:00
Jakob Olesen
c398598d1a Bug 1244889 - Remove SimdTypeToLength(). r=bbouvier
Use the existing GetSimdLanes() defined in SIMD.h.

MozReview-Commit-ID: 5vQhY2XFdDC
2016-02-18 11:38:14 -08:00
Jakob Olesen
f9d1911083 Bug 1244889 - Fix CheckCoercionArg and CheckReturnType. r=luke
These two functions can also take a Type argument instead of ValType/ExprType.

This makes it possible to avoid some explicit SIMD type enumerations, and the
Type <= ValType subtyping test is no longer needed.

MozReview-Commit-ID: 1nkMDUdgLkE
2016-02-18 11:38:14 -08:00