Dimo
71e7008950
Bug 1287967 - Baldr: Add current_memory and grow_memory (r=luke,sunfish)
...
MozReview-Commit-ID: 8whwVTSYV9a
2016-08-29 21:30:04 -05:00
Ryan VanderMeulen
6a58d2ee18
Backed out 6 changesets (bug 1283334) for hazard analysis failures.
...
Backed out changeset 84c2a6ebb42c (bug 1283334)
Backed out changeset 45c2fde6056f (bug 1283334)
Backed out changeset 2b1e3fea4384 (bug 1283334)
Backed out changeset f0571b52b903 (bug 1283334)
Backed out changeset 05215d3fc7f7 (bug 1283334)
Backed out changeset 4ab881c915b0 (bug 1283334)
CLOSED TREE
2016-08-29 17:38:57 -04:00
Leo Gaspard
493d97f148
Bug 1283334 - Part 6: Do not sparsify dense arrays when freezing - Namespace fix. r=me
...
--HG--
extra : rebase_source : df771badaec1e9b016ca63cb52f6afddcff29098
2016-08-29 13:57:48 -07:00
Leo Gaspard
9efe6c6dc7
Bug 1283334 - Part 5: Do not sparsify dense arrays when freezing - Tests. r=jandem
...
--HG--
extra : rebase_source : 2f3fed3591809bba99a61b6f3f6242024122e2e5
extra : histedit_source : a3438c47c2c1fddefccd26e611e4705604684213
2016-08-23 19:02:06 -07:00
Leo Gaspard
6e5839fc27
Bug 1283334 - Part 4: Do not sparsify dense arrays when freezing - Ion Caches. r=nbp
...
--HG--
extra : rebase_source : 9a69a1ce3099c0bde8116e69e1be756cfa507cb8
extra : histedit_source : dfc49589b5d6b6e052cce06f17017149008f12ab
2016-08-24 16:32:27 -07:00
Leo Gaspard
cac188d1af
Bug 1283334 - Part 3: Do not sparsify dense arrays when freezing - Ion. r=nbp
...
--HG--
extra : rebase_source : 338ff0f30ed6c80da1b93c2fd1a847b5e57c2b7f
extra : histedit_source : 3d60a20c97952902cdf07419887e39eb3316d8b5
2016-08-25 16:28:31 -07:00
Leo Gaspard
07fa31ec7c
Bug 1283334 - Part 2: Do not sparsify dense arrays when freezing - Baseline. r=nbp
...
--HG--
extra : rebase_source : 135d19fdb9df833819e841c892ce786c6d00a940
extra : histedit_source : 24a4c23bf696c117f7e25520a4c1b770a798748f
2016-08-16 14:45:07 -07:00
Leo Gaspard
f90cd661a0
Bug 1283334 - Part 1: Do not sparsify dense arrays when freezing - Interpreter. r=jandem
...
--HG--
extra : rebase_source : e069a08f84c15d454f9c4041b33a195dc3e6fcd0
extra : histedit_source : fe61eb2e8147a4799dbac41d29968ba5865e773b
2016-08-25 16:28:52 -07:00
Taahir Ahmed
265b20404d
Bug 1068605 - Add recovery instruction for MRandom. r=nbp
...
--HG--
extra : rebase_source : 1520d5e42379440909f6c71d26d364a010f69dd8
2016-08-26 15:02:00 -04:00
Sumit Tiwari
2d087c6ce8
Bug 1295034 - Assertion failure when sorting TypedArrays constructed under JIT; r=mrrrgn
...
--HG--
extra : rebase_source : 4a981a957a3f61b6c4fe1984d733f44935cacdf1
extra : amend_source : da1b0fefa8cfa23107a127bfd02c7d3831aa3a3f
2016-08-25 14:20:24 -07:00
Sebastian Hengst
ae4deca30b
Backed out changeset 115f3bbe634f (bug 1278562) for asserting in bug1091757.js of spidermonkey root analysis. r=backout
2016-08-29 19:44:34 +02:00
Sebastian Hengst
a9ed9ffd5d
Backed out changeset 6b4c0101e717 (bug 1278562)
2016-08-29 19:43:00 +02:00
Sebastian Hengst
3d67c09702
Backed out changeset 035cd4aa6771 (bug 1278562)
2016-08-29 19:42:56 +02:00
Sebastian Hengst
f47f9fc73c
Backed out changeset b231da97c3b6 (bug 1278562)
2016-08-29 19:42:51 +02:00
Sebastian Hengst
3ecf13b856
Backed out changeset f7b3de279ec8 (bug 1278562)
2016-08-29 19:42:47 +02:00
Eddy Bruel
c772ec2c8c
Bug 1278562 - Implement a C++ interface for DebuggerObject.promiseReason. r=jimb
2016-08-29 14:02:20 +02:00
Eddy Bruel
13165927be
Bug 1278562 - Implement a C++ interface for DebuggerObject.promiseValue. r=jimb
2016-08-29 14:01:52 +02:00
Eddy Bruel
41be241c07
Bug 1278562 - Implement a C++ interface for DebuggerObject.promiseState. r=jimb
2016-08-29 14:01:26 +02:00
Eddy Bruel
a0680ce3f8
Bug 1278562 - Make the isPromise getter infallible. r=jimb
2016-08-29 14:00:56 +02:00
Eddy Bruel
41a918e72b
Bug 1278562 - Split promiseState into promiseState/Value/Reason. r=jimb
2016-08-29 14:00:32 +02:00
Jan de Mooij
8b94ce8581
Backed out changeset 2ccbded01c01 (bug 1245965) for perf regressions.
...
--HG--
extra : rebase_source : 23366287acccd495bc10a16e40493b5553ac78f3
2016-08-29 08:52:21 +02:00
Heiher
2415f073ee
Bug 1298747 - IonMonkey: MIPS: Uses conditional move in MacroAssembler::clampIntToUint8. r=arai
...
---
js/src/jit/mips32/MacroAssembler-mips32.cpp | 28 ++++++++--------------------
js/src/jit/mips64/MacroAssembler-mips64.cpp | 28 ++++++++--------------------
2 files changed, 16 insertions(+), 40 deletions(-)
2016-08-29 18:22:30 +08:00
Heiher
0d349d1164
Bug 1298334 - IonMonkey: MIPS64: Refactor MacroAssembler::unboxInt32. r=arai
...
---
js/src/jit/mips64/MacroAssembler-mips64.cpp | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
2016-08-29 18:22:24 +08:00
Benjamin Bouvier
6abe4661c1
Bug 1290421: Throw ahead of time on statically known out-of-bounds; r=sunfish
...
MozReview-Commit-ID: Bj5MKn9w3vw
--HG--
extra : rebase_source : e70fab6c482de3ceffaac876f3e6beee69f778a6
2016-07-29 11:45:15 +02:00
Jeff Walden
0bfc5e193f
Bug 1288459 - Forbid GeneratorDeclaration as a child of LabelledStatement. r=arai
...
--HG--
extra : rebase_source : 7ad37e87fbc2974f33f151c66a7fa0bb9591f476
2016-08-27 00:41:39 -07:00
Jeff Walden
36fadecb91
Bug 1288459 - Implement static semantics restrictions on labeled functions when 'function' is first encountered after a label, not some weird time later. r=arai
...
--HG--
extra : rebase_source : 4c971ab1918e1cca5fb8390c5bc9dafa27062f7d
2016-08-24 22:06:29 -07:00
Jeff Walden
2127ca60f4
Bug 1288459 - Make Parser::statement and Parser::statementListItem behave exactly as the spec productions do. Particularly: function/lexical declarations are disallowed as Statements, "let" isn't a valid label in strict mode code, and "yield" is sometimes a permissible identifier in |let| declarations. Also add various tests. r=arai
...
--HG--
extra : rebase_source : 6162c04298a04ce45e32d564c1718f4216b130b6
2016-08-25 14:11:17 -07:00
Jeff Walden
58af55055c
Bug 1288459 - Convert a few existing calls to Parser::statement over to Parser::statementListItem (which still has identical functionality at present), before the two functions' behavior is made to differ. r=arai
...
--HG--
extra : rebase_source : 7eac11fa962864ded95cda2ee9a1069b90f12ae4
2016-08-24 22:16:34 -07:00
Jeff Walden
fd76796d50
Bug 1288459 - Copy Parser::statement into an identical (but not-yet-called) Parser::statementListItem. r=arai
...
--HG--
extra : rebase_source : f96511543842982cbc5cbd5e43e908ea7ec02071
2016-08-24 21:45:48 -07:00
Jeff Walden
138071041c
Bug 1288459 - Add a test for 'let' as a label in strict and non-strict code. r=arai
...
--HG--
extra : rebase_source : 3ebdf77ffe81c75a4fbd083d7328264b362d5f17
2016-08-27 11:52:09 -07:00
Jeff Walden
5ac0890268
Bug 1288459 - Make the statement-like children of an |if(-else)| properly understand FunctionStatement. r=arai
...
--HG--
extra : rebase_source : d0c73ee34abfca2a70eb0731c159900d1a8e82bd
2016-08-27 00:41:39 -07:00
Jeff Walden
13d0662af1
Bug 1288459 - Make Parser::labeledStatement use a new Parser::labeledItem function to parse its nested statement, anticipating when Parser::statement no longer parses FunctionDeclarations. r=arai
...
--HG--
extra : rebase_source : 6e0aef62aeaaacade56589b1f40aab1a20047529
2016-08-24 21:53:40 -07:00
Jeff Walden
151707db5d
Bug 1288459 - Split variable-statement parsing into its own parser function. r=arai
...
--HG--
extra : rebase_source : 574f08e92b8e8e9f0f35e86a48986e956828c09a
2016-08-24 17:28:39 -07:00
Jeff Walden
978e38289a
Bug 1288459 - Rename Parser::statements to Parser::statementList, the actual grammar term. r=arai
...
--HG--
extra : rebase_source : d423ec20ba08f429a7a591e0fef162ce0101096b
2016-08-24 16:57:43 -07:00
Tom Schuster
c0468b53d1
Bug 1296851 - Always allow SetPrototype with the same value as the current [[Prototype]]. r=Waldo
2016-08-27 21:47:01 +02:00
Jan de Mooij
6df1030632
Bug 1245965 - Remove the NewObjectCache. r=terrence
2016-08-27 19:57:34 +02:00
Wes Kocher
cbdf3625fa
Merge m-c to inbound, a=merge
2016-08-26 16:32:56 -07:00
Wes Kocher
f09e8fef1a
Merge inbound to central, a=merge
2016-08-26 16:20:50 -07:00
Boris Zbarsky
6a73ce5a82
Bug 1295322 part 1. Make ThrowExceptionObject return void, instead of bool. r=bholley
2016-08-26 15:38:16 -04:00
Luke Wagner
f7ea839a1d
Bug 1292724 - Baldr: don't fail to validate i64 imports and exports; throw runtime errors (r=sunfish)
...
MozReview-Commit-ID: 8KDCNutTjnB
--HG--
extra : rebase_source : 7175217d7ad93d6c2a26b022052961c4aa48170b
2016-08-26 12:51:13 -05:00
Terrence Cole
dea2d7e2f4
Bug 1296484 - Automatically run a CC if COMPARTMENT_REVIVED GC ends mostly gray; r=jonco,r=mccr8
...
--HG--
extra : rebase_source : 94482f4c09e640ca9e0436316c992457dd5b9f61
2016-08-18 13:30:32 -07:00
Till Schneidereit
a3a1f7aa3e
Bug 1289318 - Part 9: Port Promise.resolve and Promise.reject to C++ and optimize various common cases. r=efaust
...
This adds a lot of C++ code, but it allows us to optimize cases that would be annoying to optimize in JS.
MozReview-Commit-ID: CbKWXEs8pMv
2016-08-26 17:45:03 +02:00
Till Schneidereit
36380475eb
Bug 1289318 - Part 8: Combine Promise state and rejection handling info into a single flags field. r=efaust
...
The rejection handling state will be required even without devtools being open once projection rejection tracking events[1] are implemented, so it should always be tracked on the Promise itself. The other debugging state will be moved into a debug-only object referenced via a slot on Promise.
MozReview-Commit-ID: LM10qruLDxz
2016-08-26 17:45:02 +02:00
Till Schneidereit
e2d055ae6b
Bug 1289318 - Part 7: Store the Promise reactions list in the same slot as the result. r=efaust
...
A Promise can only have either a list of reactions, if it's pending, or a result/reason, if it's resolved.
This gets us down to 3 non-debug-info slots. If we now move the debug info into its own object and only allocate that when the debugger is open, Promise instances only need 4 slots.
MozReview-Commit-ID: FuLAwhmFTBe
2016-08-26 17:45:01 +02:00
Till Schneidereit
d589429ecc
Bug 1289318 - Part 6: Don't store a reference to the reject function on Promise instances themselves. r=efaust
...
The reject function is reachable via the resolve function, so we can save a slot.
MozReview-Commit-ID: 9SPdRdnt98T
2016-08-26 17:45:01 +02:00
Till Schneidereit
18ec965154
Bug 1289318 - Part 5: Port most Promise functions directly involved in Promise resolution from JS to C++. r=efaust
...
Importantly, CreateResolvingFunctions, ResolvePromise, and TriggerPromiseReactions have been ported.
This reduces memory usage because before, the `resolve` and `reject` functions stored on a pending Promise kept track of each other and the Promise they belong to using a closure. Now, that state is stored in the functions' extended slots - which they have anyway.
It should also improve performance, as fewer switches between JS and C++ code occur during processing of Promise reaction job lists.
MozReview-Commit-ID: 9Wp0sDFayTy
2016-08-26 17:45:00 +02:00
Till Schneidereit
cad9414a19
Bug 1289318 - Part 4: Only allocate the Promise reactions array once the first reaction record is added. r=efaust
...
Saves 96 bytes on reaction-less promises. It also saves 32 bytes on promises that have up to two reactions: empty arrays are initialized with an allocated length of 8, whereas providing an initial element initializes to 2.
MozReview-Commit-ID: 3PtT7LDwL3k
2016-08-26 17:44:59 +02:00
Till Schneidereit
bd90ea737d
Bug 1289318 - Part 3: Merge Promise fulfillment and rejection reaction lists into a single list. r=efaust
...
This saves a slot on Promise instances, an Array allocation, and a rejection record per dependent promise.
While the first doesn't in itself save anything (going from 12 to 11 slots doesn't do anything), the second saves 96 bytes per Promise, and the third 64 bytes per dependent Promise.
MozReview-Commit-ID: BglU9tx89rD
2016-08-26 17:44:58 +02:00
Till Schneidereit
35cd874478
Bug 1289318 - Part 2: Make Promise reaction records their own object type with a constructor and all. r=efaust
...
That allows them to be unboxed, saving 32 bytes per instance. It's nicer, too.
MozReview-Commit-ID: HHvb5PihUUD
2016-08-26 17:44:58 +02:00
Till Schneidereit
9a23b3933f
Bug 1289318 - Part 1: Store contents of spec-defined `capabilities` struct in Promise reaction jobs directly. r=efaust
...
No need to keep create an additional object for this.
MozReview-Commit-ID: Hj8kpaBe6fL
2016-08-26 17:44:57 +02:00