Граф коммитов

56460 Коммитов

Автор SHA1 Сообщение Дата
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