Commit Graph

52688 Commits

Author SHA1 Message Date
Mike Hommey
bdc9ed0d4a Bug 1240990 - Define all backends in one place. r=gps
When adding a backend, we currently have to add them in three different
places so that they appear in the right places.

Instead, keep the list in a single place.
2016-01-21 13:54:03 +09:00
Nathan Froyd
c193e4e1c6 Bug 1236577 - turn off -Wignored-attributes when compiling with clang-cl; r=glandium
Several JS engine header files, notable RootingAPI.h, do:

class JS_PUBLIC_API(...) { ... };

which sticks __declspec(dllimport) on the type.  clang-cl warns us that
it doesn't implement that, but since we're compiling with clang-cl as an
interesting side project, rather than shipping releases with it, we can
ignore that warning.
2016-01-04 11:30:22 -05:00
David Rajchenbach-Teller
583ca7286d Bug 1224374 - Profiler labels for the top 26-100 chrome hangs;r=BenWa
--HG--
extra : rebase_source : 39e94507c0288863e495322a6899ff009840870d
2016-01-15 11:38:03 +01:00
David Rajchenbach-Teller
42b6a4145f Bug 1224374 - Profiler labels for the 25 top chrome hangs;r=BenWa,MarcoZ
Experience shows that we do not have enough profiler labels to make
BHR hang reports meaningful. This patch adds enough labels to let us
exploit hang reports matching the 25 topmost chrome hangs.

--HG--
extra : rebase_source : b9ec379c58255a250db1020377147c95c82df712
2016-01-14 23:03:11 +01:00
Jakob Stoklund Olesen
1e52ac9d3a Bug 1238679 - Implement main SIMD inlining dispatch. r=bbouvier
Use a shared inlineSimd() dispatch function for all the SIMD types supported by
Ion. This function can dispatch on the .nativeOp stored in the JSJitInfo struct,
and we avoid comparing native function pointers that way.

Delete the old per-type dispatch functions.
2016-01-20 12:50:07 -08:00
Jakob Stoklund Olesen
1453f06ac1 Bug 1238679 - Make inlineSimdLoad/Store take a MIRType argument. r=bbouvier
Complete the earlier refactoring that got rid of the SimdTypeDescr::Type enums.
2016-01-20 12:50:07 -08:00
Jakob Stoklund Olesen
db12cf689d Bug 1238679 - Mark the Bool32x4 functions as inlinable. r=bbouvier
This is an oversight from Bug 1160971.
2016-01-20 12:50:06 -08:00
Jakob Stoklund Olesen
14c7723e0b Bug 1238679 - Provide per-operation JSJitInfo for the SIMD functions. r=bbouvier
The InlinableNative enumeration doesn't have an enumerator for every SIMD
function, it only enumerates the SIMD types supported by the jit, and Ion uses
the JSNative function pointer to identify functions when inlining.

Use the uint16_t .nativeOp field in JSJitInfo as a sub-opcode, and give each
inlinable SIMD operation its own JSJitInfo with a sub-opcode that identifies the
operation.

Use the old JSJitInfo SIMD structs from MCallOptimize.cpp to represent the
constructor calls. They all have .nativeOp = 0 which corresponds to
SimdOperation::Constructor.

This will make it easier to identify inlinable SIMD functions in Ion.
2016-01-20 12:50:06 -08:00
Jakob Stoklund Olesen
0193a447c2 Bug 1238679 - Add enum class SIMDOperation. r=bbouvier
This enumeration contains all SIMD operations that have a function name plus
the constructor.
2016-01-20 12:50:06 -08:00
Jakob Stoklund Olesen
da78ae7e9b Bug 1238679 - Put JSJitInfo::depth in anonymous union. r=nbp
Add a JSJitInfo::nativeOp field which will be used to identify SIMD operations.
2016-01-20 12:50:06 -08:00
Jakob Stoklund Olesen
81870cf461 Bug 1238679 - Rename s/SIMD/Simd/ in type and function names. r=bbouvier
We prefer to camelcase acronyms to avoid shouty identifiers. Most types and
functions with SIMD in their name already spell it 'Simd'.
2016-01-20 12:50:06 -08:00
Morgan Phillips
1ae1634b8b Bug 1239068 - Inline "PossiblyTypedArrayLength" intrinsic; r=Waldo 2016-01-20 13:54:36 -06:00
Lars T Hansen
b9a9fe0202 Bug 1239605 - filter insertions into the global object. r=jandem
--HG--
extra : rebase_source : ba8b51405f8bedfad9ed4a63118c4afb4a29ec03
extra : histedit_source : 4ff924808991ac19c036d6d852f6c1d9402d132b
2016-01-18 09:52:44 +01:00
Lars T Hansen
fe536f191a Bug 1240453 - enable shared memory in xpconnect. r=bz
--HG--
extra : rebase_source : 91a282de93b3456e22761b3ef269083220cd50c4
extra : histedit_source : 283564276cc5fbef86fc8908be8f5a115f566530
2016-01-18 09:50:05 +01:00
Luke Wagner
b4d7059241 Bug 1234985 - Hoist CStringHasher (r=sfink)
--HG--
extra : commitid : KxwfOhuDfeq
extra : rebase_source : 1a38c30bea5b324ca913a7688c2febd834873d49
2016-01-20 12:00:21 -06:00
Luke Wagner
15ea4caf9b Bug 1234985 - Odin: move mutedError and displayURL into AsmJSModule (r=bbouvier)
--HG--
extra : commitid : FogEAcQCY3M
extra : rebase_source : 673db30eb49a028d893a0da476dd39551b90b2b7
2016-01-20 10:26:10 -06:00
Luke Wagner
0c330a85c2 Bug 1234985 - Odin: tweak ModuleGenerator interface for Baldr use (r=bbouvier)
--HG--
extra : commitid : LukajsqNoAP
extra : rebase_source : dbe1d194950cd970414636f79d8f030c735a118e
2016-01-20 10:26:08 -06:00
Luke Wagner
6d48b2f677 Bug 1234985 - Odin: hoist read/writeOp into wasm::Decoder/Encoder (r=bbouvier)
--HG--
extra : commitid : 9dlvyNF7EJe
extra : rebase_source : db60ab15410c3284348c53fed5eb3cdce67171c6
2016-01-20 10:26:04 -06:00
Till Schneidereit
75cb75c01e Bug 992472 - Remove self-hosting macros ARRAY_PUSH and ARRAY_SLICE. r=efaust 2016-01-20 16:18:30 +01:00
Lars T Hansen
f23bd7b66d Bug 1239666 - part 1, get rid of the default parameter. r=waldo
--HG--
extra : rebase_source : e4077a078fd362797fb566f46bece67a7b40ac26
extra : histedit_source : a8386da7cddb3a1ea178b985f652989fc203f416
2016-01-20 15:03:16 +01:00
Lars T Hansen
e412a4793d Bug 1231024 - narrow the live range for values. r=jandem
--HG--
extra : rebase_source : ed78f40639fe782d743138cd09b498df6b979daa
extra : amend_source : 8cb4e9d1675d57502190d081212d547f81d4f308
2016-01-18 11:48:39 +01:00
Benjamin Bouvier
5f6447339c Bug 1240527: Fix tracing of RegExpStaticsObject; r=nbp
--HG--
extra : rebase_source : 47e833cb8b4072be7f461ea478abbc3df419f634
extra : amend_source : 14bb01fa2c2032eb7fd6f707e5c9b787deb3a818
2016-01-18 17:23:30 +01:00
Jon Coppeard
b540ee46ba Bug 1215600 - Make IonBuilder::testGlobalLexicalBinding() work if there's no type information r=shu 2016-01-20 10:13:14 +00:00
Jon Coppeard
de80f46e74 Bug 1240416 Disallow setting GC mark stack size to zero, and assert on attempt to realloc() zero bytes r=terrence 2016-01-20 10:13:14 +00:00
Bogdan Postelnicu
e98ff21162 Bug 1240717 - initialize stackAddress_ with nullptr in order to prevent garbage value. r=jorendorff
--HG--
extra : transplant_source : R%CF1%F45r%14%A9%17%1E%DB%98o%D9%5B%1A_%C3%DF%CE
2016-01-19 15:03:35 +02:00
Jan de Mooij
8697aa024d Bug 1236316 - Suppress GC in ActivationEntryMonitor constructors; should fix a ton of dt oranges. r=fitzgen
--HG--
extra : rebase_source : 22943d68f93e7a026d11ca35243aed37e584473b
2016-01-19 22:50:22 +01:00
Nick Fitzgerald
59008f94c6 Bug 1233831 - Part 2: Expose JS::gcreason::ExplainReason to embedders; r=terrence
This renames the internal function `js::gcstats::ExplainReason` to
`JS::gcreason::ExplainReason` and publicly exposes it to embedders.
2016-01-19 12:48:22 -08:00
Nick Fitzgerald
974eaa8140 Bug 1233831 - Part 1: Call the callback on nursery collections; r=terrence
This commit adds the `js::gcstats::Statistics::{begin,end}NurseryCollection`
methods which calls the nursery collection callback, if present, and
additionally handles counting minor GCs (which used to be inline in
js::Nursery::collect).
2016-01-19 12:48:22 -08:00
Nick Fitzgerald
445de2814b Bug 1233831 - Part 0: JSAPI plumbing for nursery collection callbacks; r=terrence
This commit adds the relatively boring plumbing needed to expose methods to set
callbacks that get fired on nursery collection start and end, as well as storing
said callbacks internally.
2016-01-19 12:48:22 -08:00
Sebastian Hengst
d8d4a2d1a5 Backed out 2 changesets (bug 1224374) for Windows bustage. r=bustage on a CLOSED TREE
Backed out changeset 5f458e6e4997 (bug 1224374)
Backed out changeset 0dc02cb0b604 (bug 1224374)
2016-01-19 21:30:41 +01:00
David Rajchenbach-Teller
2d53758d08 Bug 1224374 - Profiler labels for the top 26-100 chrome hangs;r=BenWa
--HG--
extra : rebase_source : 51d39d6f88bf58ccb29f5897c3dbbe71007ee842
2016-01-15 11:38:03 +01:00
David Rajchenbach-Teller
f5531f5260 Bug 1224374 - Profiler labels for the 25 top chrome hangs;r=BenWa,MarcoZ
Experience shows that we do not have enough profiler labels to make
BHR hang reports meaningful. This patch adds enough labels to let us
exploit hang reports matching the 25 topmost chrome hangs.

--HG--
extra : rebase_source : b9ec379c58255a250db1020377147c95c82df712
2016-01-14 23:03:11 +01:00
Jason Orendorff
f81ea0f69a Bug 603201 - Enable primitive receivers in [[Set]]. r=jorendorff 2015-03-01 13:37:42 -06:00
Hannes Verschore
6bea44d416 Bug 1238859: ARM: MoveEmitter should only copying float32 instead of double during spilling, r=nbp 2016-01-19 10:11:33 -05:00
Jon Coppeard
98f3eb0615 Bug 1234410 - Fix JIT spew assertion when we've hit OOM r=lth 2016-01-19 10:05:07 +00:00
Luke Wagner
0a5366fd58 Bug 1239177 - Odin: make calls more like wasm (r=bbouvier)
--HG--
extra : commitid : 55SogGEwGDh
extra : rebase_source : b37071da6504fe8418d9c1fcd8f34a17d0d453d7
2016-01-12 22:12:07 -06:00
Benjamin Bouvier
4965f17f0a Bug 1229399: Add test file forgotten in previous rebase/checkin; r=bustage 2016-01-18 19:03:39 +01:00
Benjamin Bouvier
69829de071 Bug 1229399: Add list of wasm opcodes described in v8 design document; r=luke
--HG--
extra : rebase_source : 6a79955d3759d5630b068eca3b5fbeec43083eff
2016-01-18 18:48:25 +01:00
Benjamin Bouvier
6ec71ecae3 Bug 1229399: Unite all the Emit* functions in WasmIonCompile; r=luke
--HG--
extra : rebase_source : 846f94aaed89fd87d55b302d99b6ea2d816ffeb1
2016-01-12 15:18:19 +01:00
Benjamin Bouvier
d8d1a3ad73 Bug 1229399: Implement write/readVarU32 and use it for locals/globals; r=luke
--HG--
extra : rebase_source : 0761022442593b1772e65629f1a2806b1c167ed4
2016-01-18 17:40:03 +01:00
Benjamin Bouvier
f20249c9de Bug 1240524: Fix AsmJS checkedValueType of Bool32x4; r=luke
--HG--
extra : rebase_source : a0787940cc94668766e7e14c3b865c1083d83eb0
2016-01-18 17:12:16 +01:00
Jan de Mooij
1190d0cad6 Bug 1234845 part 7 - Simplify isGlobalFrame and isModuleFrame. r=jonco 2016-01-18 10:23:50 +01:00
Jan de Mooij
063ad0b899 Bug 1234845 part 6 - Simplify isEvalFrame, make it use script->isForEval() instead of flags. r=luke 2016-01-18 10:22:58 +01:00
Jan de Mooij
fbc825f0b8 Bug 1234845 part 5 - Rename isNonEvalFunctionFrame to isFunctionFrame and use the script instead of flags. r=luke 2016-01-18 10:22:01 +01:00
Yury Delendik
9b5b59f30b Bug 1236104 - Increase tiny script limit for off-thread compilation. r=djvj 2016-01-14 15:41:37 -06:00
Jan de Mooij
3409896cb1 Bug 1239519 - Fix debug-only initializion order issue detected by ASan. r=luke 2016-01-16 17:14:24 +01:00
Jan de Mooij
d6df256937 Bug 1240127 - Fold MTableSwitch with constant int32 operand. r=nbp 2016-01-16 17:12:22 +01:00
Luke Wagner
72ea23c63e Bug 1239601 - improve the UniquePtr situation (r=jandem)
--HG--
extra : commitid : JegWAoGsuQ9
extra : rebase_source : 995c1b6ab8e4fd3b83c44741cd84a2d7b0d934d7
2016-01-15 18:26:20 -06:00
Luke Wagner
6ebd19920f Bug 1239601 - improve the UniquePtr situation (r=jorendorff)
--HG--
extra : commitid : FwqWNSZ3SKY
extra : rebase_source : 75ed67bfadcbdaeb5bf89a57ad6ca9ef75b7f1f0
2016-01-15 18:26:06 -06:00
Morgan Phillips
bcf3efd1b8 Bug 1101256 - Implement detachment checks for %TypedArray% methods (patch 2 of 2); r=Waldo 2016-01-15 11:23:01 -06:00