- 21 Aug, 2017 19 commits
-
-
Michael Lippautz authored
Performance sheriffs: This CL adds better accounting and can thus cause regressions. Also-By: cbruni@chromium.org Bug: Change-Id: I38cdb702af201033e180741af40c4c5915553798 Reviewed-on: https://chromium-review.googlesource.com/623867Reviewed-by: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#47476}
-
Jaroslav Sevcik authored
When merging effect phis, we currently do not try to merge information for any variables that are merged by phis on the same control merge. This CL implements a very limited version of merging map information for nodes: If all the map information for all inputs of the phi is the same, we assign that map information to the phi itself. This is somewhat consistent with merging map information for a node: there we also combine the information only if in all incoming paths we have teh same set of maps. In theory, we could union the sets of maps. Also, we could consider merging other information (such as abstract fields). This yields some small improvement (~2%) on the Octane deltablue benchmark. Bug: v8:5267 Change-Id: I9447732e3f0d06eb44632db492782fa35529f9fd Reviewed-on: https://chromium-review.googlesource.com/622792 Commit-Queue: Jaroslav Sevcik <jarin@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#47475}
-
Ross McIlroy authored
Changes the contract of the parser to have a valid character stream passed in the ParseInfo rather than the current situation where either: - it is passed explicitly (e.g., for streaming scripts) - a Script is passed and a character stream is created for this - or a source and encoding is passed in ParseInfo and the character stream is created from this. The parse info also now owns the character stream (in a unique_ptr). It can be destroyed using a new ResetCharacterStream() function. This will enable the character stream to be kept live if any functions are asm.js modules which were parsed, in order to be reused by the asm.js parser. BUG=v8:5203 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: Ifda167391b2eadb38ebf9fcb2f565d2ed9ea3c6f Reviewed-on: https://chromium-review.googlesource.com/616767 Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#47474}
-
Michael Starzinger authored
R=jarin@chromium.org BUG=v8:5653,v8:6409 Change-Id: I3a7e7173afbcba9bb0bb7b1baafe9e78e22bb696 Reviewed-on: https://chromium-review.googlesource.com/612174 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#47473}
-
Ulan Degenbaev authored
This reverts commit a241576f. Bytecode array visitor has a side-effect of incrementing the age counter. This patch makes the increment atomic and thus safe for the concurrent marker. Bug: chromium:694255 Change-Id: Ibe1d75714a5911385b06e52ed50b5f152ec6b73d Reviewed-on: https://chromium-review.googlesource.com/622432 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#47472}
-
jgruber authored
The CASE_BODY macro is inconvenient for debugging, as gdb points only at the SINGLE_CASE line, not the actual expanded line. Converting it into a templatized function should preserve optimization opportunities for the compiler while making debugging much easier. Bug: v8:6624 Change-Id: I864eff190e39e3230c529ced5c4919aa875763b1 Reviewed-on: https://chromium-review.googlesource.com/612084 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#47471}
-
Marja Hölttä authored
This reverts commit 1e08466b. Reason for revert: Test run complete. Original change's description: > Revert "Revert "[parser] FLAG_aggressive_lazy_functions = true for a test run."" > > This reverts commit aee29a9f. > > Reason for revert: Bot is alive again, doing this test run now. > > Original change's description: > > Revert "[parser] FLAG_aggressive_lazy_functions = true for a test run." > > > > This reverts commit 0d51a259. > > > > Reason for revert: Bot is broken; makes no sense to run the experiment now. > > > > Original change's description: > > > [parser] FLAG_aggressive_lazy_functions = true for a test run. > > > > > > Just to get the RuntimeCallstats data. To be reverted soon. > > > > > > BUG=v8:5516 > > > NOTREECHECKS=true > > > > > > Change-Id: I4bb436900a79bb383bf8132002a129b601efdfe3 > > > Reviewed-on: https://chromium-review.googlesource.com/618987 > > > Reviewed-by: Adam Klein <adamk@chromium.org> > > > Commit-Queue: Marja Hölttä <marja@chromium.org> > > > Cr-Commit-Position: refs/heads/master@{#47416} > > > > TBR=adamk@chromium.org,machenbach@chromium.org,marja@chromium.org > > > > Change-Id: I8506ae7e1e16a4d0b320a486f743c01f7f82e0f2 > > No-Presubmit: true > > No-Tree-Checks: true > > No-Try: true > > Bug: v8:5516 > > Reviewed-on: https://chromium-review.googlesource.com/620749 > > Reviewed-by: Marja Hölttä <marja@chromium.org> > > Commit-Queue: Marja Hölttä <marja@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#47425} > > TBR=adamk@chromium.org,machenbach@chromium.org,marja@chromium.org > > # Not skipping CQ checks because original CL landed > 1 day ago. > > Bug: v8:5516 > Change-Id: I09d8da398da33076db1656f3241e3de8e05757b7 > Reviewed-on: https://chromium-review.googlesource.com/623047 > Reviewed-by: Marja Hölttä <marja@chromium.org> > Commit-Queue: Marja Hölttä <marja@chromium.org> > Cr-Commit-Position: refs/heads/master@{#47460} TBR=adamk@chromium.org,machenbach@chromium.org,marja@chromium.org Change-Id: Ic2d97d05b9e611fe93a0128671f55e9e74fe1909 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:5516 Reviewed-on: https://chromium-review.googlesource.com/623407Reviewed-by: Marja Hölttä <marja@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#47470}
-
Ulan Degenbaev authored
This replaces custom Release_CompareAndSwap implementation with a call to compiler intrinsic / std:atomic, which is TSAN friendly. Bug: chromium:694255 Change-Id: Iab67c8f5a3a2329b18030a70f3dbf3cb5530374e Reviewed-on: https://chromium-review.googlesource.com/622431 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#47469}
-
Ulan Degenbaev authored
This makes live byte count updates on the main thread non-atomic. Bug: chromium:694255 TBR: mlippautz@chromium.org Change-Id: I84da2b0647f63ad9d8f2be757d305d58945a00ff Reviewed-on: https://chromium-review.googlesource.com/613623 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#47468}
-
Camillo Bruni authored
The quite common empty object literal doesn't need an AllocationSite since it starts off with the general ElementsKind. By using a separate bytecode we can directly instantiate the empty object without jumping to the runtime first. Note: this experimentally disables pretenuring for empty object literals. Depending on the outcome of our benchmarks pretenuring will be enabled again or fully removed for empty object literals. Bug: v8:6211 Change-Id: I2fee81cbefc70865fc436dbd3bc5fc8de04db91c Reviewed-on: https://chromium-review.googlesource.com/577555 Commit-Queue: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Adam Klein <adamk@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#47467}
-
Enrico Bacis authored
This CL introduces 4 tests that verify that the effects of a grow_memory instruction executed inside a loop are visible also when the loop is over. The tests verify the output of the current_memory instruction and the result of loading a variable stored in the grown memory inside the loop in the following cases: * the memory is grown inside the loop (no memory operation outside); * the memory is grown both inside and outside the loop; R=ahaas@chromium.org,clemensh@chromium.org,gdeepti@chromium.org Change-Id: I1670aa4d8274f6c54dced98cced7b51534552c36 Reviewed-on: https://chromium-review.googlesource.com/619207Reviewed-by: Andreas Haas <ahaas@chromium.org> Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Enrico Bacis <enricobacis@google.com> Cr-Commit-Position: refs/heads/master@{#47466}
-
Camillo Bruni authored
Change-Id: Icd5dcb9fe58fec7d405e03ca09648d2e426bd204 Reviewed-on: https://chromium-review.googlesource.com/452458 Commit-Queue: Georg Neis <neis@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#47465}
-
Ulan Degenbaev authored
The effect of array/string trimming on space size is postponed until sweeping completes. This simplifies runtime code and fixes live byte update race with the concurrent marker. This patch restores monotonicity of PromotedSinceLastGC by notify the heap when sweeper discovers more free space than estimated. Bug: chromium:694255 Change-Id: I7a8c24f2c3398bc0c8a43ffd1d35ace68010cd65 Reviewed-on: https://chromium-review.googlesource.com/621326 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#47464}
-
Marja Hölttä authored
As specified in Annex B.3.6., initializers are allowed in sloppy mode var declarations in for-in loops. As a consequence, "in" is one of the tokens that can follow an AssignmentExpression - this was not recognized before. BUG=v8:6715 Change-Id: Idbf79bda39beef4e568d630e0b5e239a34397952 Reviewed-on: https://chromium-review.googlesource.com/620728Reviewed-by: Adam Klein <adamk@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#47463}
-
Tobias Tebbi authored
Bug: v8:6731 Change-Id: I6b07ac90a7d86d0ff915b1e89238df5af6b07926 Reviewed-on: https://chromium-review.googlesource.com/620648Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#47462}
-
Ulan Degenbaev authored
Bug: chromium:757175 Change-Id: I6c566475a730084e8ab35e6f8505a12c466644ff Reviewed-on: https://chromium-review.googlesource.com/622430Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#47461}
-
Marja Hölttä authored
This reverts commit aee29a9f. Reason for revert: Bot is alive again, doing this test run now. Original change's description: > Revert "[parser] FLAG_aggressive_lazy_functions = true for a test run." > > This reverts commit 0d51a259. > > Reason for revert: Bot is broken; makes no sense to run the experiment now. > > Original change's description: > > [parser] FLAG_aggressive_lazy_functions = true for a test run. > > > > Just to get the RuntimeCallstats data. To be reverted soon. > > > > BUG=v8:5516 > > NOTREECHECKS=true > > > > Change-Id: I4bb436900a79bb383bf8132002a129b601efdfe3 > > Reviewed-on: https://chromium-review.googlesource.com/618987 > > Reviewed-by: Adam Klein <adamk@chromium.org> > > Commit-Queue: Marja Hölttä <marja@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#47416} > > TBR=adamk@chromium.org,machenbach@chromium.org,marja@chromium.org > > Change-Id: I8506ae7e1e16a4d0b320a486f743c01f7f82e0f2 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: v8:5516 > Reviewed-on: https://chromium-review.googlesource.com/620749 > Reviewed-by: Marja Hölttä <marja@chromium.org> > Commit-Queue: Marja Hölttä <marja@chromium.org> > Cr-Commit-Position: refs/heads/master@{#47425} TBR=adamk@chromium.org,machenbach@chromium.org,marja@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. Bug: v8:5516 Change-Id: I09d8da398da33076db1656f3241e3de8e05757b7 Reviewed-on: https://chromium-review.googlesource.com/623047Reviewed-by: Marja Hölttä <marja@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#47460}
-
Sathya Gunasekaran authored
This is a reland of decf5750 This patch fixes the hash code migration in the backing store transition case from Smi to PropertyArray in the IC system and Turbofan. Also, adds tests. Bug: v8:6413, v8:6404 Original change's description: > [runtime] Store hash code in length field > > Store the hash code in 21 bits of the length field. > > Change the GetIdentityHash API to be unhandlified, since there's no > property lookup anymore. > > Update js/ and test/ to match new API and expections. > > Bug: > Change-Id: I8dc75de4021f59e79b45f3f38ec997c3b3687b24 > Reviewed-on: https://chromium-review.googlesource.com/589688 > Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> > Cr-Commit-Position: refs/heads/master@{#47259} Change-Id: I69289113c4b7978c46f6f9373cc972086ecb6822 Bug: Reviewed-on: https://chromium-review.googlesource.com/614903 Commit-Queue: Jaroslav Sevcik <jarin@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Reviewed-by: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#47459}
-
v8-autoroll authored
Rolling v8/third_party/catapult: https://chromium.googlesource.com/external/github.com/catapult-project/catapult/+log/d768f57..85ae813 TBR=machenbach@chromium.org,hablich@chromium.org Change-Id: Ic5e9e26097b79b6c7d5c942aa2c645844569fdc3 Reviewed-on: https://chromium-review.googlesource.com/622062Reviewed-by: v8 autoroll <v8-autoroll@chromium.org> Commit-Queue: v8 autoroll <v8-autoroll@chromium.org> Cr-Commit-Position: refs/heads/master@{#47458}
-
- 20 Aug, 2017 2 commits
-
-
Jaroslav Sevcik authored
Revert "[turbofan] Polymorphic inlining - try merge map check dispatch with function call dispatch." This reverts commit 627c440b. Reason for revert: Likely breaks Canary. Original change's description: > [turbofan] Polymorphic inlining - try merge map check dispatch with function call dispatch. > > This improves delta blue by about >5%. Unfortunately, this still does not help load > and check elimination because we do not learn maps from control flow. > > Change-Id: I49a97dbc40576b9bc80c87ec2b459e37ba9b4440 > Bug: v8:5267 > Reviewed-on: https://chromium-review.googlesource.com/618328 > Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> > Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> > Cr-Commit-Position: refs/heads/master@{#47405} TBR=jarin@chromium.org,bmeurer@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. Bug: v8:5267 Change-Id: Id12519ae98b42b57fbef86d0685950f6c85f5082 Reviewed-on: https://chromium-review.googlesource.com/622827Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#47457}
-
v8-autoroll authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/7dff852..a049c43 Rolling v8/third_party/catapult: https://chromium.googlesource.com/external/github.com/catapult-project/catapult/+log/d2ffc23..d768f57 TBR=machenbach@chromium.org,hablich@chromium.org Change-Id: I154d5143a0c02af6ff9f5ae639dadfd4583c7fc7 Reviewed-on: https://chromium-review.googlesource.com/621211Reviewed-by: v8 autoroll <v8-autoroll@chromium.org> Commit-Queue: v8 autoroll <v8-autoroll@chromium.org> Cr-Commit-Position: refs/heads/master@{#47456}
-
- 19 Aug, 2017 9 commits
-
-
Mircea Trofin authored
This reverts commit af37f6b9. Reason for revert: Reverted dependency fixed. Original change's description: > Revert "[wasm] Reference indirect tables as addresses of global handles" > > This reverts commit 186099d4. > > Reason for revert: Need to revert: > https://chromium-review.googlesource.com/c/613880 > > Original change's description: > > [wasm] Reference indirect tables as addresses of global handles > > > > This sets us up for getting the wasm code generation off the GC heap. > > We reference tables as global handles, which have a stable address. This > > requires an extra instruction when attempting to make an indirect call, > > per table (i.e. one for the signature table and one for the function > > table). > > > > Bug: > > Change-Id: I83743ba0f1dfdeba9aee5d27232f8823981288f8 > > Reviewed-on: https://chromium-review.googlesource.com/612322 > > Commit-Queue: Mircea Trofin <mtrofin@chromium.org> > > Reviewed-by: Brad Nelson <bradnelson@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#47444} > > TBR=bradnelson@chromium.org,titzer@chromium.org,mtrofin@chromium.org > > Change-Id: Ic3dff87410a51a2072ddc16cfc83a230526d4c56 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Reviewed-on: https://chromium-review.googlesource.com/622568 > Reviewed-by: Michael Achenbach <machenbach@chromium.org> > Commit-Queue: Michael Achenbach <machenbach@chromium.org> > Cr-Commit-Position: refs/heads/master@{#47450} TBR=bradnelson@chromium.org,machenbach@chromium.org,titzer@chromium.org,mtrofin@chromium.org Change-Id: I3dc5dc8be26b5462703edac954cbedbb8f504c1e No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/622035Reviewed-by: Mircea Trofin <mtrofin@chromium.org> Commit-Queue: Mircea Trofin <mtrofin@chromium.org> Cr-Commit-Position: refs/heads/master@{#47455}
-
Mircea Trofin authored
This reverts commit 3913bde1. Reason for revert: Reason for revert fixed. Original change's description: > Revert "[wasm] Rename TestingModule to TestingModuleBuilder." > > This reverts commit ed06fc91. > > Reason for revert: Need to revert previous CL > > Original change's description: > > [wasm] Rename TestingModule to TestingModuleBuilder. > > > > This is a followup to moving the ModuleEnv to the compiler directory and > > making it immutable. > > > > R=mtrofin@chromium.org, ahaas@chromium.org > > > > Bug: > > Change-Id: I0f5ec1b697bdcfad0b4dc2bca577cc0f40de8dc0 > > Reviewed-on: https://chromium-review.googlesource.com/616762 > > Commit-Queue: Ben Titzer <titzer@chromium.org> > > Reviewed-by: Mircea Trofin <mtrofin@chromium.org> > > Reviewed-by: Andreas Haas <ahaas@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#47419} > > TBR=titzer@chromium.org,mtrofin@chromium.org,ahaas@chromium.org > > Change-Id: I9b3b379e89f523c2fcf205a1d268aa294bbc44ff > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Reviewed-on: https://chromium-review.googlesource.com/622567 > Reviewed-by: Michael Achenbach <machenbach@chromium.org> > Commit-Queue: Michael Achenbach <machenbach@chromium.org> > Cr-Commit-Position: refs/heads/master@{#47448} TBR=machenbach@chromium.org,titzer@chromium.org,mtrofin@chromium.org,ahaas@chromium.org Change-Id: Idce6f1ca8ed0ea80edb50292e9b6e2d7712f29cf No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/622034Reviewed-by: Mircea Trofin <mtrofin@chromium.org> Commit-Queue: Mircea Trofin <mtrofin@chromium.org> Cr-Commit-Position: refs/heads/master@{#47454}
-
Mircea Trofin authored
This reverts commit e79d4f06. Reason for revert: Fixed compile error Original change's description: > Revert "[wasm] Move the ModuleEnv to compiler and make it immutable." > > This reverts commit d04660db. > > Reason for revert: Suspect for blocking the roll: > https://chromium-review.googlesource.com/c/621191 > > See: > https://build.chromium.org/p/tryserver.chromium.win/builders/win_optional_gpu_tests_rel/builds/13583 > > Original change's description: > > [wasm] Move the ModuleEnv to compiler and make it immutable. > > > > This CL (finally) makes the contract between the compiler and the module > > environment clear. In order to compile a function, the caller must provide > > an instance of the compiler::ModuleEnv struct, which contains references > > to code, function and signature tables, memory start, etc. > > > > R=mtrofin@chromium.org,ahaas@chromium.org > > > > Bug: > > Change-Id: I68e44d5da2c5ad44dad402029c2e57f2d5d25b4f > > Reviewed-on: https://chromium-review.googlesource.com/613880 > > Reviewed-by: Mircea Trofin <mtrofin@chromium.org> > > Reviewed-by: Andreas Haas <ahaas@chromium.org> > > Commit-Queue: Ben Titzer <titzer@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#47418} > > TBR=titzer@chromium.org,mtrofin@chromium.org,ahaas@chromium.org > > Change-Id: I60a369a43121720fbb13ea6c2ec6ca948d60a20b > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Reviewed-on: https://chromium-review.googlesource.com/622547 > Commit-Queue: Michael Achenbach <machenbach@chromium.org> > Reviewed-by: Michael Achenbach <machenbach@chromium.org> > Cr-Commit-Position: refs/heads/master@{#47451} TBR=machenbach@chromium.org,titzer@chromium.org,mtrofin@chromium.org,ahaas@chromium.org Change-Id: Ie0efa6204c41b2cb672586a7ac0a622ca13ce5fe No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/622033 Commit-Queue: Mircea Trofin <mtrofin@chromium.org> Reviewed-by: Mircea Trofin <mtrofin@chromium.org> Cr-Commit-Position: refs/heads/master@{#47453}
-
Enrico Bacis authored
This CL introduces 8 tests that verify that the effects of a grow_memory instruction executed inside a conditional branch are visible also when the branch is merged. The tests verify the output of the current_memory instruction and the result of loading a variable stored in the grown memory inside the branch in the following cases: * the memory is grown inside the if branch (with no else branch); * the memory is grown inside the if branch (when an else branch exists); * the memory is grown inside the else branch; * the memory is grown by different amount of pages inside both the if and else branches. R=ahaas@chromium.org,clemensh@chromium.org,gdeepti@chromium.org Change-Id: I8127ebdf959eed5b7b5ca5aa6033a7ea41465f32 Reviewed-on: https://chromium-review.googlesource.com/617222Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Enrico Bacis <enricobacis@google.com> Cr-Commit-Position: refs/heads/master@{#47452}
-
Michael Achenbach authored
This reverts commit d04660db. Reason for revert: Suspect for blocking the roll: https://chromium-review.googlesource.com/c/621191 See: https://build.chromium.org/p/tryserver.chromium.win/builders/win_optional_gpu_tests_rel/builds/13583 Original change's description: > [wasm] Move the ModuleEnv to compiler and make it immutable. > > This CL (finally) makes the contract between the compiler and the module > environment clear. In order to compile a function, the caller must provide > an instance of the compiler::ModuleEnv struct, which contains references > to code, function and signature tables, memory start, etc. > > R=mtrofin@chromium.org,ahaas@chromium.org > > Bug: > Change-Id: I68e44d5da2c5ad44dad402029c2e57f2d5d25b4f > Reviewed-on: https://chromium-review.googlesource.com/613880 > Reviewed-by: Mircea Trofin <mtrofin@chromium.org> > Reviewed-by: Andreas Haas <ahaas@chromium.org> > Commit-Queue: Ben Titzer <titzer@chromium.org> > Cr-Commit-Position: refs/heads/master@{#47418} TBR=titzer@chromium.org,mtrofin@chromium.org,ahaas@chromium.org Change-Id: I60a369a43121720fbb13ea6c2ec6ca948d60a20b No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/622547 Commit-Queue: Michael Achenbach <machenbach@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#47451}
-
Michael Achenbach authored
This reverts commit 186099d4. Reason for revert: Need to revert: https://chromium-review.googlesource.com/c/613880 Original change's description: > [wasm] Reference indirect tables as addresses of global handles > > This sets us up for getting the wasm code generation off the GC heap. > We reference tables as global handles, which have a stable address. This > requires an extra instruction when attempting to make an indirect call, > per table (i.e. one for the signature table and one for the function > table). > > Bug: > Change-Id: I83743ba0f1dfdeba9aee5d27232f8823981288f8 > Reviewed-on: https://chromium-review.googlesource.com/612322 > Commit-Queue: Mircea Trofin <mtrofin@chromium.org> > Reviewed-by: Brad Nelson <bradnelson@chromium.org> > Cr-Commit-Position: refs/heads/master@{#47444} TBR=bradnelson@chromium.org,titzer@chromium.org,mtrofin@chromium.org Change-Id: Ic3dff87410a51a2072ddc16cfc83a230526d4c56 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/622568Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#47450}
-
Michael Achenbach authored
This reverts commit 15fe64c0. Reason for revert: Need to revert: https://chromium-review.googlesource.com/c/613880 Original change's description: > [wasm] Handle non-asm-js case in WasmCompiledModule::GetAsmJsSourcePosition. > > This hides more implementation details and simplifies callers. > > R=ahaas@chromium.org > > Bug: > Change-Id: I4809611c55b810a3b0674713e12f3f17401e6c9c > Reviewed-on: https://chromium-review.googlesource.com/620713 > Reviewed-by: Andreas Haas <ahaas@chromium.org> > Commit-Queue: Ben Titzer <titzer@chromium.org> > Cr-Commit-Position: refs/heads/master@{#47434} TBR=titzer@chromium.org,ahaas@chromium.org Change-Id: I291d5ffeb52cb4731d87486f56e5c890e91e6cec No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/622588Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#47449}
-
Michael Achenbach authored
This reverts commit ed06fc91. Reason for revert: Need to revert previous CL Original change's description: > [wasm] Rename TestingModule to TestingModuleBuilder. > > This is a followup to moving the ModuleEnv to the compiler directory and > making it immutable. > > R=mtrofin@chromium.org, ahaas@chromium.org > > Bug: > Change-Id: I0f5ec1b697bdcfad0b4dc2bca577cc0f40de8dc0 > Reviewed-on: https://chromium-review.googlesource.com/616762 > Commit-Queue: Ben Titzer <titzer@chromium.org> > Reviewed-by: Mircea Trofin <mtrofin@chromium.org> > Reviewed-by: Andreas Haas <ahaas@chromium.org> > Cr-Commit-Position: refs/heads/master@{#47419} TBR=titzer@chromium.org,mtrofin@chromium.org,ahaas@chromium.org Change-Id: I9b3b379e89f523c2fcf205a1d268aa294bbc44ff No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/622567Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#47448}
-
v8-autoroll authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/4fc2460..7dff852 Rolling v8/buildtools: https://chromium.googlesource.com/chromium/buildtools/+log/d36e2d9..5af0a3a Rolling v8/third_party/catapult: https://chromium.googlesource.com/external/github.com/catapult-project/catapult/+log/d9436e5..d2ffc23 Rolling v8/tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang/+log/874d630..f0379f8 TBR=machenbach@chromium.org,hablich@chromium.org Change-Id: I605f2d2a2077d39c938bbafe38035bdbd6c66d1a Reviewed-on: https://chromium-review.googlesource.com/621553Reviewed-by: v8 autoroll <v8-autoroll@chromium.org> Commit-Queue: v8 autoroll <v8-autoroll@chromium.org> Cr-Commit-Position: refs/heads/master@{#47447}
-
- 18 Aug, 2017 10 commits
-
-
Ross McIlroy authored
Parse tasks are not currently used, and will need to be changed significantly for background compilation, so we remove them for now. BUG=v8:6093,v8:5203 Change-Id: I44559a94ecca85668f0117629d35aaa5f4075745 Reviewed-on: https://chromium-review.googlesource.com/617140 Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#47446}
-
Franziska Hinkelmann authored
If a QueryCallback is present, it is used to filter the result from the EnumeratorCallback for enumerable properties. This tests assures that for...in loops work correctly with these interceptors. Bug: v8:6627 Change-Id: I1e568beac1e138a330034492b87bd49c22e0c804 Reviewed-on: https://chromium-review.googlesource.com/609982 Commit-Queue: Franziska Hinkelmann <franzih@chromium.org> Reviewed-by: Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#47445}
-
Mircea Trofin authored
This sets us up for getting the wasm code generation off the GC heap. We reference tables as global handles, which have a stable address. This requires an extra instruction when attempting to make an indirect call, per table (i.e. one for the signature table and one for the function table). Bug: Change-Id: I83743ba0f1dfdeba9aee5d27232f8823981288f8 Reviewed-on: https://chromium-review.googlesource.com/612322 Commit-Queue: Mircea Trofin <mtrofin@chromium.org> Reviewed-by: Brad Nelson <bradnelson@chromium.org> Cr-Commit-Position: refs/heads/master@{#47444}
-
Franziska Hinkelmann authored
%TypedArray%.prototype.set should throw a range error for invalid offset. Bug: v8:6729 Cq-Include-Trybots: master.tryserver.v8:v8_linux_noi18n_rel_ng Change-Id: I2b2b64a82657ecabf136ec8f13b41e95a62b8f38 Reviewed-on: https://chromium-review.googlesource.com/620569 Commit-Queue: Franziska Hinkelmann <franzih@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#47443}
-
Franziska Hinkelmann authored
The V8 API provides interceptors. They are not part of the EcmaScript specification. But their behavior should be consistent. For example, when an EnumeratorInterceptor is defined, Object.keys(), Object.entries(), and Object.values() should all have the same number of entries. This CL creates consistent behavior among these functions. If a QueryCallback is present, it is used to filter the result from the EnumeratorCallback for enumerable properties. Bug: v8:6627 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: Ie51e69bb77099d9fafc4b1ea02671eced610edba Reviewed-on: https://chromium-review.googlesource.com/609068Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Franziska Hinkelmann <franzih@chromium.org> Cr-Commit-Position: refs/heads/master@{#47442}
-
Adam Klein authored
Currently, Declaration stores a Scope pointer to whichever Scope the declaration appeared in. This is used to disallow var declarations being hoisted over lexical declarations. For example: { let x; { var x; } } But in fact this is the only sort of case where storing the scope is required: for lexical declarations (including function declarations appearing in blocks), Declaration::scope() was always identical to Declaration::proxy()->var()->scope(). That is, only var declarations end up "nested" in this way. This patch adds a subclass of VariableDeclaration to store the Scope. Since the only thing that cares about that data is Scope analysis, this isn't treated as a distinct AstNode::NodeType from VariableDeclaration, leaving all AstVisitors untouched in the process. Also reworked the logic in Scope::CheckConflictingVarDeclarations() for clarity after making changes to accomodate the new code. Change-Id: I6ee4298700508ab9e28a76ddb8504bae68bc473f Reviewed-on: https://chromium-review.googlesource.com/619595 Commit-Queue: Adam Klein <adamk@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#47441}
-
Scott Graham authored
In-process capture of exceptions doesn't work well because there's no symbols on-device. Instead, just let the system crashlogger output a backtrace that the run script can symbolize. Bug: chromium:731217 Change-Id: I9a509a29e55229a5d8675c9bdc890b50a6a9bfb9 Reviewed-on: https://chromium-review.googlesource.com/619947 Commit-Queue: Scott Graham <scottmg@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#47440}
-
Ulan Degenbaev authored
Bug: chromium:694255 Change-Id: I7cd5b713f4a1d64dc53d99b65c924cae6e39f193 Reviewed-on: https://chromium-review.googlesource.com/621009 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#47439}
-
Scott Graham authored
This follows the POSIX-y implementations, using mx_ system calls in place of mmap, et al. Some references: https://fuchsia.googlesource.com/magenta/+/HEAD/docs/objects/vm_address_region.md https://fuchsia.googlesource.com/magenta/+/HEAD/docs/syscalls/vmo_create.md https://fuchsia.googlesource.com/magenta/+/HEAD/docs/syscalls/vmar_map.md https://fuchsia.googlesource.com/magenta/+/HEAD/docs/syscalls/vmar_unmap.md https://fuchsia.googlesource.com/magenta/+/HEAD/docs/syscalls/vmar_protect.md Bug: chromium:731217 Change-Id: I7a33c2cc2b41736e395bd3431b88e6b9621b7ca5 Reviewed-on: https://chromium-review.googlesource.com/619687Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Scott Graham <scottmg@chromium.org> Cr-Commit-Position: refs/heads/master@{#47438}
-
Ulan Degenbaev authored
This fixes layering between page and its owner, so that the page does not update the owner state. Bug: chromium:694255 Change-Id: Ic4f594340bed42d4f2c13d0a30f451317cbc9f50 Reviewed-on: https://chromium-review.googlesource.com/620732Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#47437}
-