- 09 Aug, 2017 26 commits
-
-
Adam Klein authored
There are two reasons for Scopes to need information about eval calls inside them: - Eval in a scope, or any of its inner scopes, turns off a bunch of scope analysis optimizations (e.g., all variables have to be treated as "used" and context-allocated). - Eval in a sloppy declaration scope means allows runtime addition of var declarations. This patch aims to make the code better-reflect this reality. It's meant as a pure cleanup, with no expected change in behavior. Change-Id: I744c5051bb7a90b11420930e9596e5d6c35eb440 Reviewed-on: https://chromium-review.googlesource.com/602848 Commit-Queue: Adam Klein <adamk@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#47257}
-
Anisha Rohra authored
Port cb9402aa Original Commit Message: The ConstructFunctionForwardVarargs and ConstructForwardVarargs builtins, which are used when inlining the Reflect.construct builtin into TurboFan optimized code, didn't properly check the new.target parameter whether it's a constructor. R=bmeurer@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: I9d006961e15bedadc98ca786fcb1f032755ec608 Reviewed-on: https://chromium-review.googlesource.com/608549Reviewed-by: Jaideep Bajwa <bjaideep@ca.ibm.com> Commit-Queue: Jaideep Bajwa <bjaideep@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#47256}
-
Mythri authored
Currently, we do not inline recursive functions. This is in general a good idea but could be useful in some cases. For example, in rayTrace there is a class.create function to create new classes, which basically calls the initialize function on the object. When there are classes which instantiate other classes this leads to recursion. These are really small functions (within the small function budget) and it is good to inline them. Allowing such functions to inline improves the score on rayTrace by 12-16% and box2d by 24-30%. There is also an absolute limit on the maximum levels of inlining to avoid any corner cases and to ensure inlining always terminates. Bug: v8:6682 Change-Id: I6784f68d6395097d126c0850b1a1336b6583d958 Reviewed-on: https://chromium-review.googlesource.com/608235Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Mythri Alle <mythria@chromium.org> Cr-Commit-Position: refs/heads/master@{#47255}
-
Jaideep Bajwa authored
Atomic operation instructions are not implemented in s390/ppc yet. Disabling the testcases for now. R=machenbach@chromium.org, jkummerow@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com BUG= LOG=N Change-Id: If12ad7886bd517a281efa8c9a3ddfaf3479de68b Reviewed-on: https://chromium-review.googlesource.com/608488Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Jaideep Bajwa <bjaideep@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#47254}
-
Caitlin Potter authored
AsyncGenerators, when resumed with a "return" completion, Await the sent value to provide consistency with syntactic return statements. This moves the await to during AsyncGeneratorResumeNext, shrinking the number of bytecodes. There's a minor change to BytecodeGenerator which removes a %_GeneratorClose() call, since it's inserted implicitly by the parser. BUG=v8:5855 TBR=neis@chromium.org Change-Id: I2965c610e5985ac24c713b481e62f6b97f96a3d8 Reviewed-on: https://chromium-review.googlesource.com/582218 Commit-Queue: Caitlin Potter <caitp@igalia.com> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#47253}
-
Peter Marshall authored
Because SizeFor only returns aligned values, when we check values returned there against kMaxSize, they can be larger if they were rounded up. It wasn't possible to write a test for the 2-byte version that didn't regularly OOM. Bug: chromium:752764 Change-Id: Id2f387449e0fafe633a2fde1ac728be31487f62d Reviewed-on: https://chromium-review.googlesource.com/607935Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Peter Marshall <petermarshall@chromium.org> Cr-Commit-Position: refs/heads/master@{#47252}
-
Ben L. Titzer authored
BUG=chromium:752423 R=mtrofin@chromium.org,bradnelson@chromium.org Change-Id: Ie6d80a82cd40b598e917a79842e6639e73be9194 Reviewed-on: https://chromium-review.googlesource.com/606587Reviewed-by: Mircea Trofin <mtrofin@chromium.org> Commit-Queue: Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#47251}
-
Ivica Bogosavljevic authored
type conversion Bug: Change-Id: I3e2ea55b47044bb43fe60d8287bb28df8f7d2c08 Reviewed-on: https://chromium-review.googlesource.com/608135Reviewed-by: Ivica Bogosavljevic <ivica.bogosavljevic@imgtec.com> Reviewed-by: Miran Karić <Miran.Karic@imgtec.com> Commit-Queue: Ivica Bogosavljevic <ivica.bogosavljevic@imgtec.com> Cr-Commit-Position: refs/heads/master@{#47250}
-
Michael Achenbach authored
This reverts commit 2e9f7253. Reason for revert: Done experimenting... Original change's description: > [parser] Turn FLAG_experimental_preparser_scope_analysis on. > > Experimental run, just for getting data from RuntimeCallstats bots. > > To be reverted soon - expected to break various things. > > BUG=v8:5516 > NOTREECHECKS=true > > Change-Id: I6d235fddee36b0f0efe70065166d25ed40d6e163 > Reviewed-on: https://chromium-review.googlesource.com/557863 > Commit-Queue: Michael Achenbach <machenbach@chromium.org> > Commit-Queue: Marja Hölttä <marja@chromium.org> > Reviewed-by: Michael Achenbach <machenbach@chromium.org> > Reviewed-by: Adam Klein <adamk@chromium.org> > Cr-Commit-Position: refs/heads/master@{#47248} TBR=adamk@chromium.org,machenbach@chromium.org,marja@chromium.org Change-Id: I871d8a68442597b777e8f9e3d04ba3298ae87549 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:5516 Reviewed-on: https://chromium-review.googlesource.com/608190Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#47249}
-
Marja Hölttä authored
Experimental run, just for getting data from RuntimeCallstats bots. To be reverted soon - expected to break various things. BUG=v8:5516 NOTREECHECKS=true Change-Id: I6d235fddee36b0f0efe70065166d25ed40d6e163 Reviewed-on: https://chromium-review.googlesource.com/557863 Commit-Queue: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Reviewed-by: Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#47248}
-
Michael Achenbach authored
This reverts commit edc4ae14. Reason for revert: There's still this problem: https://build.chromium.org/p/client.v8.ports/builders/V8%20Linux%20-%20arm64%20-%20sim%20-%20nosnap%20-%20debug/builds/5835 Original change's description: > Reland ^3 "[builtins] Port getting property from Proxy to CSA"" > > This is a reland of e86c066b > > With fixes for crbug.com/752846, crbug.com/752712, crbug.com/752850 > > Previously landed as: 47a97aa5 / 47113 > Previously landed as: 15ef03cb / 47159 > > TBR=jkummerow@chromium.org, franzih@chromium.org, bmeurer@chromium.org, > jgruber@chromium.org, mstarzinger@chromium.org > > Bug: v8:6559, v8:6557 > Change-Id: I12ccae44331b05dd3f304ac538c0154133b43c35 > Reviewed-on: https://chromium-review.googlesource.com/608187 > Reviewed-by: Georg Neis <neis@chromium.org> > Commit-Queue: Georg Neis <neis@chromium.org> > Cr-Commit-Position: refs/heads/master@{#47245} TBR=jkummerow@chromium.org,mstarzinger@chromium.org,neis@chromium.org,franzih@chromium.org,jgruber@chromium.org,ishell@chromium.org,bmeurer@chromium.org,mslekova@google.com Change-Id: Ib46b68f011c056675f2024f91c7f1024767b4dd0 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:6559, v8:6557 Reviewed-on: https://chromium-review.googlesource.com/608189Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#47247}
-
Ulan Degenbaev authored
This ensures that 2GB devices get 512K initial semi-space. Bug: chromium:735649 TBR: mlippautz@chromium.org Change-Id: I864c9dfa7cd3ea9040fa56d81d6bf1187c1cf776 Reviewed-on: https://chromium-review.googlesource.com/608129Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#47246}
-
Maya Lekova authored
This is a reland of e86c066b With fixes for crbug.com/752846, crbug.com/752712, crbug.com/752850 Previously landed as: 47a97aa5 / 47113 Previously landed as: 15ef03cb / 47159 TBR=jkummerow@chromium.org, franzih@chromium.org, bmeurer@chromium.org, jgruber@chromium.org, mstarzinger@chromium.org Bug: v8:6559, v8:6557 Change-Id: I12ccae44331b05dd3f304ac538c0154133b43c35 Reviewed-on: https://chromium-review.googlesource.com/608187Reviewed-by: Georg Neis <neis@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#47245}
-
Ulan Degenbaev authored
This reverts commit feb3ee40. Reason for revert: canary crashes were caused by another CL. Original change's description: > [heap] Disable parallel scavenge. > > Bug: chromium:752750 > TBR: mlippautz@chromium.org > Change-Id: I95ca30742c05be03dcaebb0cd32af04b226e23e2 > Reviewed-on: https://chromium-review.googlesource.com/603652 > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Commit-Queue: Ulan Degenbaev <ulan@chromium.org> > Cr-Commit-Position: refs/heads/master@{#47201} TBR=ulan@chromium.org,mlippautz@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. Bug: chromium:752750 Change-Id: Id26e58ded32af364b3274d6d1a7215944386bb70 Reviewed-on: https://chromium-review.googlesource.com/607891Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#47244}
-
Ross McIlroy authored
Splits out AttachOuterScopeInfo from DeclarationScope::Analyze and attaches the outer scope info after parsing has completed (when parsing on the main thread, which is the only time we have an outer scope info) instead of during Compiler::Analyse(). BUG=v8:5203 TBR=yangguo@chromium.org Change-Id: Idd8d2409fb20f09a9f6bbf5cff7e6edcf90077d7 Reviewed-on: https://chromium-review.googlesource.com/605889 Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#47243}
-
Ulan Degenbaev authored
This fixes an old bug uncovered by https://chromium-review.googlesource.com/591651 The bug is a race between the concurrent sweeper clearing slots and the mutator adding slots and trimming fixed array: 1) The sweeper starts sweeping a page with an existing fixed array. 2) The sweeper pre-caches the slots clearing mode by checking if the slot set pointer on the page is null or not. (This is the bug). 3) The mutator updates the fixed array such that new slots are added. 4) The mutator trims the fixed array such that the added slots are now in free space. 5) The sweeper adds the trimmed part of the fixed array to free list, but does not clear slots there because of the cached flag. 6) A new object is allocated from the free list entry and it has a bogus slot entry recorded. Bug: chromium:752750 TBR: mlippautz@chromium.org Change-Id: I4f70514fa05b692a27d992954cb4c314ef4cac07 Reviewed-on: https://chromium-review.googlesource.com/608047Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#47242}
-
Marja Hölttä authored
- Previous fix is https://chromium-review.googlesource.com/c/583531 but it diverges Scopes created by PreParser from Scopes created by Parser. - This CL creates the inner block scope a bit earlier and (temporarily) pushes it into the scope chain for parsing the variable declarations in a for loop. The previous approach was to first parse the variable declarations and then reparent the AST nodes / Scopes created while parsing it afterwards. - This CL partially reverts https://chromium-review.googlesource.com/c/583531; the new fix only touches parser-base.h (diff between patch sets 2 and 3 is the fix). - The Ignition golden changes are basically undoing the changes done in that CL too. Bug: chromium:740591 Change-Id: Iceff1383ef066317e754942bb5ff0c70a91bc937 Reviewed-on: https://chromium-review.googlesource.com/603787 Commit-Queue: Marja Hölttä <marja@chromium.org> Reviewed-by: Adam Klein <adamk@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#47241}
-
Benedikt Meurer authored
Revert CollectCallOrConstructFeedback to just CollectCallFeedback again and provide a separate copy of the code for ConstructWithSpread, where the idea is that this will be unified with the Construct bytecode handler, once there's support for spreading the final argument _and_ passing the AllocationSite at the same time. This is following up on discussion with rmcilroy@ at https://goo.gl/Cxy5mD where the outcome was to keep Call and Construct logic separate for the sake of clarity. Bug: v8:5517, v8:6399, v8:6679 Change-Id: I20ebe1d5ed80986359742cf5411f4abaad8b6a60 Reviewed-on: https://chromium-review.googlesource.com/606469Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#47240}
-
Mostyn Bramley-Moore authored
To speed up compilation times, jumbo allows files to be compiled together. This is a well known method ("unity builds") to both compile faster and create a poor man's "full program optimization". We are only interested in compile times. Background: https://chromium.googlesource.com/chromium/src/+/master/docs/jumbo.md Note that jumbo builds are not enabled by default. To try this out, add use_jumbo_build=true to your GN args. BUG=chromium:746958 Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel Change-Id: Ieb9fdccb6c135e9806dbed91c09a29aa8b8bee11 Reviewed-on: https://chromium-review.googlesource.com/579090 Commit-Queue: Mostyn Bramley-Moore <mostynb@opera.com> Reviewed-by: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#47239}
-
Georg Neis authored
This fixes a bug affecting module namespace objects, which are currently implemented using native accessors. Bug: v8:6681, v8:1569 Change-Id: I6a678652573a332c47315497d927c390d9da0926 Reviewed-on: https://chromium-review.googlesource.com/606027 Commit-Queue: Georg Neis <neis@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#47238}
-
Benedikt Meurer authored
Don't return NoChange when the new_target input to a JSConstruct node is already a HeapConstant, but rather use that constant in the interesting lowering below. This was introduced accidentally by https://chromium-review.googlesource.com/604790 earlier. Also don't use ShouldUseCallICFeedback predicate here, as that doesn't really make sense for JSConstruct, but is mostly interesting for JSCall (hence the name). Bug: v8:5517, v8:6399, v8:6679 Change-Id: I96201281cf1a10f2bfd2dc3859455161eb310ccf Reviewed-on: https://chromium-review.googlesource.com/607887Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#47237}
-
Georg Neis authored
This reverts commit e86c066b. Reason for revert: <INSERT REASONING HERE> Original change's description: > Reland^2 "[builtins] Port getting property from Proxy to CSA" > > With fixes for crbug.com/752846, crbug.com/752712, crbug.com/752850 > > Previously landed as: 47a97aa5 / 47113 > Previously landed as: 15ef03cb / 47159 > > Bug: v8:6559, v8:6557 > This is a reland of 15ef03cb > > Change-Id: Ia53ffb80ebe44581fdb923d9f572be92ee3ed080 > Reviewed-on: https://chromium-review.googlesource.com/603796 > Commit-Queue: Maya Lekova <mslekova@google.com> > Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> > Reviewed-by: Franziska Hinkelmann <franzih@chromium.org> > Cr-Commit-Position: refs/heads/master@{#47235} TBR=jkummerow@chromium.org,mstarzinger@chromium.org,franzih@chromium.org,jgruber@chromium.org,ishell@chromium.org,bmeurer@chromium.org,mslekova@google.com Change-Id: Ibf0b9f786f3df247acaf9e7ffe9f49ec1db905d8 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:6559, v8:6557 Reviewed-on: https://chromium-review.googlesource.com/607928Reviewed-by: Georg Neis <neis@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#47236}
-
Maya Lekova authored
With fixes for crbug.com/752846, crbug.com/752712, crbug.com/752850 Previously landed as: 47a97aa5 / 47113 Previously landed as: 15ef03cb / 47159 Bug: v8:6559, v8:6557 This is a reland of 15ef03cb Change-Id: Ia53ffb80ebe44581fdb923d9f572be92ee3ed080 Reviewed-on: https://chromium-review.googlesource.com/603796 Commit-Queue: Maya Lekova <mslekova@google.com> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Franziska Hinkelmann <franzih@chromium.org> Cr-Commit-Position: refs/heads/master@{#47235}
-
Michael Achenbach authored
NOTRY=true TBR=mstarzinger@chromium.org,clemensh@chromium.org Change-Id: I1c4f43b3faa40ab6cc790647aa022890cb418d07 Reviewed-on: https://chromium-review.googlesource.com/607847Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#47234}
-
Sergei D authored
To avoid breaking Chromium we expose a stub method first, and will start using it only when V8 rolls into Chromium and we implement it there. Bug: chromium:751993 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: Ida1f96f2dfa833552e7adfa36a580a6ef1bdd1aa Reviewed-on: https://chromium-review.googlesource.com/604812Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Sergei Datsenko <dats@chromium.org> Cr-Commit-Position: refs/heads/master@{#47233}
-
v8-autoroll authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/411d3b5..220748c Rolling v8/third_party/catapult: https://chromium.googlesource.com/external/github.com/catapult-project/catapult/+log/33a9271..49fffef TBR=machenbach@chromium.org,hablich@chromium.org Change-Id: I0dbf7437440b15e5d2d82dd04f1133a639ac7a90 Reviewed-on: https://chromium-review.googlesource.com/607489Reviewed-by: v8 autoroll <v8-autoroll@chromium.org> Commit-Queue: v8 autoroll <v8-autoroll@chromium.org> Cr-Commit-Position: refs/heads/master@{#47232}
-
- 08 Aug, 2017 14 commits
-
-
Aseem Garg authored
This reverts commit 649b1e70. Reason for revert: A1 Jetstream bots are still failing. Original change's description: > [wasm] Reland "[wasm] redirect wasm calls to js functions through a GCed table" > > This reverts commit 25f03308. > > Reason for revert: Fix the cause of bot failure and reland > > Original change's description: > > Revert "[wasm] redirect wasm calls to js functions through a GCed table" > > > > This reverts commit eb65f35e. > > > > Reason for revert: Broke jetstream benchmark on android. > > > > BUG=chromium:750828 > > > > Original change's description: > > > [wasm] redirect wasm calls to js functions through a GCed table > > > > > > With this patch, rather than embedding the JSReceiver address directly > > > in the WasmToJS wrappers, we put that in a fixed array with global handle > > > scope and instead embed the location of the handle and the index in the > > > wrapper. This ensures that the wrapper doesn't need to be patched if the > > > GC kicks in. This is needed to get the WASM code off the GCed heap. > > > > > > R=mtrofin@chromium.org > > > > > > Bug: > > > Change-Id: Ie5a77a78cdecec51b04f702c63b8e4285e6a2d8d > > > Reviewed-on: https://chromium-review.googlesource.com/581682 > > > Commit-Queue: Aseem Garg <aseemgarg@chromium.org> > > > Reviewed-by: Mircea Trofin <mtrofin@chromium.org> > > > Cr-Commit-Position: refs/heads/master@{#46884} > > > > TBR=mtrofin@chromium.org,aseemgarg@google.com,aseemgarg@chromium.org,clemensh@chromium.org > > > > # Not skipping CQ checks because original CL landed > 1 day ago. > > > > Change-Id: I26f49ee0a1fe73cc5d8852ded87b56638be39ebf > > Reviewed-on: https://chromium-review.googlesource.com/596268 > > Commit-Queue: Aseem Garg <aseemgarg@chromium.org> > > Reviewed-by: Clemens Hammacher <clemensh@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#47059} > > R=mtrofin@chromium.org,aseemgarg@google.com,aseemgarg@chromium.org,clemensh@chromium.org,sullivan@chromium.org > > Change-Id: I29ef35f6e612a706d9f571da3e7beb1da8b5052b > Bug: chromium:750828 > Reviewed-on: https://chromium-review.googlesource.com/597010 > Commit-Queue: Aseem Garg <aseemgarg@chromium.org> > Reviewed-by: Clemens Hammacher <clemensh@chromium.org> > Cr-Commit-Position: refs/heads/master@{#47177} TBR=bradnelson@chromium.org,sullivan@chromium.org,mtrofin@chromium.org,aseemgarg@google.com,aseemgarg@chromium.org,clemensh@chromium.org Bug: chromium:750828 Change-Id: I04b12c0eb0705ad809822a7d7461423be77d942a Reviewed-on: https://chromium-review.googlesource.com/606867 Commit-Queue: Aseem Garg <aseemgarg@chromium.org> Reviewed-by: Aseem Garg <aseemgarg@chromium.org> Cr-Commit-Position: refs/heads/master@{#47231}
-
Anisha Rohra authored
Port ee350c31 R=joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, bjaideep@ca.ibm.com BUG= LOG=N Change-Id: I2dfc7562fc327a4d8577c405d5fec8c440ef0a49 Reviewed-on: https://chromium-review.googlesource.com/606707Reviewed-by: Jaideep Bajwa <bjaideep@ca.ibm.com> Commit-Queue: Jaideep Bajwa <bjaideep@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#47230}
-
Mircea Trofin authored
This CL consolidates ownership of parameters used to compile code (which we always specialize) in 2 places: - ModuleEnv for compile-time data - WasmCompiledModule for runtime data The parameters in question are: memory size and start; globals start; address of indirect function tables (and their signatures, respectively); and address to be used for wasm call sites. Ideally, we'd collapse this down to one place, however, we need specialization data to survive serialization. We can achieve this we get off the GC heap and use a different wasm code serializer. The CL: - removes aliasing of parts of the specialization data, and moves to using ModuleEnv as a token of passing around compile-time data, instead of a mixture of ModuleEnv, WasmInstance, and some other structures. ModuleEnv is responsible for providing a consistent view of the specialization data, e.g. valid memory sizes (multiples of page size), and matching sized function tables and signatures. - removes WasmInstance, as its data is now contained by ModuleEnv. - removes ModuleBytesEnv. We now pass the wire bytes explicitly. They can't always be assumed as present (e.g. streaming compilation), and probably more refactoring may need to happen once streaming compilation lands and we better understand our dependencies. Change-Id: Id7e6f2cf29e51b5756eee8b6f8827fb1f375e5c3 Reviewed-on: https://chromium-review.googlesource.com/592531 Commit-Queue: Mircea Trofin <mtrofin@chromium.org> Reviewed-by: Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#47229}
-
jing.bao authored
Reconstruct pshufb using macro Bug: Change-Id: I5556ce1108378fc7a7658443cd09c3f676c16aa7 Reviewed-on: https://chromium-review.googlesource.com/603907Reviewed-by: Bill Budge <bbudge@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#47228}
-
Clemens Hammacher authored
We are only calling {checkAvailable} with uint32_t, thus the type received should also be uint32_t. This also gives better error messages for integers >kMaxInt. R=titzer@chromium.org Change-Id: I40655b80dcc601e05fbb0c92cedba72ca806e2b3 Reviewed-on: https://chromium-review.googlesource.com/605893 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#47227}
-
Ivica Bogosavljevic authored
Add support for the simulation of MIPS SIMD MI10 instruction group, which included Load Vector and Store Vector instructions. Add corresponding test for these instructions. Bug: Change-Id: I7cbc9d8dff2a779d9a716f539cd9a2bbb8ac694a Reviewed-on: https://chromium-review.googlesource.com/595567Reviewed-by: Miran Karić <Miran.Karic@imgtec.com> Commit-Queue: Ivica Bogosavljevic <ivica.bogosavljevic@imgtec.com> Cr-Commit-Position: refs/heads/master@{#47226}
-
Adam Klein authored
Change-Id: I3f150ef3424cb28c89db6ef8fcb1a3340a8ff8b1 Reviewed-on: https://chromium-review.googlesource.com/604725Reviewed-by: Marja Hölttä <marja@chromium.org> Commit-Queue: Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#47225}
-
Caitlin Potter authored
A spec change (https://github.com/tc39/proposal-async-iteration/commit/a0dfeba1a8029012b6e964099929b8a157818c9f) introduced a number of Await operations to the spec. In turn, this caused generated bytecode for async generators to grow drastically. This commit moves the Await within AsyncGeneratorYield (https://tc39.github.io/proposal-async-iteration/#sec-asyncgeneratoryield step 5) into a new TFJ builtin, similar in structure to AsyncGeneratorAwait, but instead of resuming the generator on resolution of the Promise, the current generator request's Promise is fulfilled instead. This results in a reduction in generated bytecode without losing any statically available information. BUG=v8:5855 Change-Id: Ib5bcf06132d221beffdea30639a7b4437030143b Reviewed-on: https://chromium-review.googlesource.com/582487 Commit-Queue: Caitlin Potter <caitp@igalia.com> Reviewed-by: Georg Neis <neis@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#47224}
-
Yang Guo authored
R=jgruber@chromium.org Change-Id: I67b296c97091b4bfa3864f5187cf3e7e4d452961 Reviewed-on: https://chromium-review.googlesource.com/604800Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#47223}
-
Michael Starzinger authored
R=clemensh@chromium.org Change-Id: Ie964f001792e2be9647bfd32722071dd343755d2 Reviewed-on: https://chromium-review.googlesource.com/605688Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#47222}
-
Ulan Degenbaev authored
This patch removes creation of fillers in the middle of a large page and fixes assert in Heap::NotifyObjectLayoutChange. The fillers in large pages are useless since we do not sweep large object space. Bug: chromium:752426 Change-Id: I01c230223f28d6d54b7362ee70e9d83de50678fd Reviewed-on: https://chromium-review.googlesource.com/601994 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#47221}
-
Michael Starzinger authored
R=jarin@chromium.org Change-Id: I336595bdcbdb41d7c33aa138fdc7893aa02e655b Reviewed-on: https://chromium-review.googlesource.com/605647Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#47220}
-
Jakob Gruber authored
This moves deserializer setup boilerplate inside the deserializers, and makes improper usage less likely. For instance: ObjectDeserializer deserializer(&scd); /* ... deserializer setup ... */ MaybeHandle<HeapObject> obj = deserializer.Deserialize(isolate); /* ... result checks and casts ... */ has now become: /* All setup and casts inside deserializer, impossible to illegally use the same instance multiple times. */ MaybeHandle<SharedFunctionInfo> maybe_result = ObjectDeserializer::DeserializeSharedFunctionInfo( isolate, &scd, source); Bug: v8:6624 Change-Id: Id5a1848e024e89cf86e5292389ba7c89f31d8e6b Reviewed-on: https://chromium-review.googlesource.com/604791 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#47219}
-
Michael Starzinger authored
This avoid introduction of {TypeGuard} nodes during load elimination. Such type guard could lead to contradicting type information where a constant {NumberConstant} node was guarded to have {ExternalPointer} type, which would lead to an impossible constraint on representation selection. R=jarin@chromium.org TEST=mjsunit/regress/regress-crbug-752826 BUG=chromium:752826 Change-Id: Ida3815af24ccc8a48474b8d66117b9718f61adda Reviewed-on: https://chromium-review.googlesource.com/605547Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#47218}
-