- 26 Sep, 2019 23 commits
-
-
Clemens Backes [né Hammacher] authored
This reverts commit 66129430. Reason for revert: Fails on gcc: https://ci.chromium.org/p/v8/builders/ci/V8%20Linux%20gcc/3394 Original change's description: > [regexp] Bytecode peephole optimization > > Bytecodes used by the regular expression interpreter often occur in > specific sequences. The number of dispatches in the interpreter can be > reduced if those sequences are combined into a single bytecode. > > This CL adds a peephole optimization pass for regexp bytecodes. > This pass checks the generated bytecode for pre-defined sequences that > can be merged into a single bytecode. > > With the currently implemented bytecode sequences a speedup of 1.12x on > regex-dna and octane-regexp is achieved. > > Bug: v8:9330 > Change-Id: I827f93273a5848e5963c7e3329daeb898995d151 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1813743 > Commit-Queue: Patrick Thier <pthier@google.com> > Reviewed-by: Peter Marshall <petermarshall@chromium.org> > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Cr-Commit-Position: refs/heads/master@{#63992} TBR=jgruber@chromium.org,petermarshall@chromium.org,pthier@google.com Change-Id: Ie526fe3691f6abdd16b51979000fdafb7afce8ef No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:9330 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1826727Reviewed-by: Clemens Backes [né Hammacher] <clemensb@chromium.org> Commit-Queue: Clemens Backes [né Hammacher] <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#63998}
-
Georg Neis authored
Change-Id: I94c29febf3f89d8b907dd879413d4a113ca1d0df Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1826723Reviewed-by: Maya Lekova <mslekova@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#63997}
-
Thibaud Michaud authored
The current implementation only supports arrays and proxies as multi-return values in Wasm to JS calls. This adds support for any iterable including generators, as specified by the multi-value proposal (https://github.com/WebAssembly/multi-value/). R=mstarzinger@chromium.org Bug: v8:9492 Change-Id: I2c9be1f7e03824b1aabba525244e5b7f76a98f99 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1824938 Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#63996}
-
Igor Sheludko authored
This CL fixes comparison operations that take into account full-word value instead of the lower 32 bits and tweaks some CSA helper functions for smi-corrupting decompression. Bug: v8:9706 Change-Id: I50e38a9f34b911ec0b8dd4e21298417bf23160aa Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1824943Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#63995}
-
Santiago Aboy Solanes authored
Bug: v8:9771 Change-Id: I6ffa794e1b3e22f2c584a9959222b63c84a47374 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1825222 Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Commit-Queue: Dan Elphick <delphick@chromium.org> Auto-Submit: Santiago Aboy Solanes <solanes@chromium.org> Reviewed-by: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#63994}
-
Victor Gomes authored
This is a reland of d7b67ce2 Original change's description: > [Context] Add a bit flag to indicate if extension might exist > > Checking the bit flag instead of comparing pointers should improve performance. > This will also allow us to remove the extension slot in Context and save memory. > > Bug: v8:9744 > Change-Id: I7ab9feeadfb934955798d877d13bc0e1d78a191c > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1814918 > Commit-Queue: Victor Gomes <victorgomes@google.com> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Reviewed-by: Leszek Swirski <leszeks@chromium.org> > Cr-Commit-Position: refs/heads/master@{#63906} Bug: v8:9744 Change-Id: Ic4725ad5730a8f8fff6288d6af2205c230aff79d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1815256Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Victor Gomes <victorgomes@google.com> Cr-Commit-Position: refs/heads/master@{#63993}
-
Patrick Thier authored
Bytecodes used by the regular expression interpreter often occur in specific sequences. The number of dispatches in the interpreter can be reduced if those sequences are combined into a single bytecode. This CL adds a peephole optimization pass for regexp bytecodes. This pass checks the generated bytecode for pre-defined sequences that can be merged into a single bytecode. With the currently implemented bytecode sequences a speedup of 1.12x on regex-dna and octane-regexp is achieved. Bug: v8:9330 Change-Id: I827f93273a5848e5963c7e3329daeb898995d151 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1813743 Commit-Queue: Patrick Thier <pthier@google.com> Reviewed-by: Peter Marshall <petermarshall@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#63992}
-
Igor Sheludko authored
... in both CSA code and TurboFan. This is a prerequisite for smi-corrupting decompression. The decompression eliminator changes is a workaround to ensure that the result of comparisons of two constant Smis is still a constexpr (the failing test is cctest/test-torque/TestLoadEliminationFixed). Better optimizations will be landed in a follow-up CLs. Bug: v8:9706 Change-Id: Ie2d90f6a7714aa749439e3f457d90d663d0efe49 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1815133Reviewed-by: Santiago Aboy Solanes <solanes@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#63991}
-
Jiayao Lin authored
DCHECK(IsAligned(addr, alignof(T))) is false on s390 debug simulator test case. So copy to an aligned buffer and we can relocate the serialized code. Change-Id: I8e4ad9ff25fd9a9e5478831250ff741c3e72a86f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1822860Reviewed-by: Junliang Yan <jyan@ca.ibm.com> Reviewed-by: Clemens Backes [né Hammacher] <clemensb@chromium.org> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#63990}
-
Milad Farazmand authored
Port 40c0f84a Original Commit Message: Since we were already loading the undefined value a few lines above, we could avoid loading it again. R=solanes@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: Ibda02f97ab5472aabfa02eb16b8db4b50035b27b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1827539Reviewed-by: Junliang Yan <jyan@ca.ibm.com> Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#63989}
-
Yu Yin authored
on mips, we should use t9 when jump to a ExternalReference, because the callee function will consider t9 as the function start address. Change-Id: I56e2bf073fd24b2f3434dfd255d48264bfd0b2cd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1826417 Auto-Submit: Yu Yin <xwafish@gmail.com> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#63988}
-
Michael Starzinger authored
This uses Handle<WasmExceptionPackage> where applicable to increase type safety. Note that {WasmExceptionPackage} is not a full-fledged instance type though. The {HeapObject::IsWasmExceptionPackage} predicate is an approximation because a precise version could only be implemented using handlified code performing a property lookup. R=clemensb@chromium.org Change-Id: I061e3eea201a0e9909ba67ae33db81d14aaefe4b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1477673 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Clemens Backes [né Hammacher] <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#63987}
-
Victor Gomes authored
This is a reland of 0d6aa842 The reason for the revert was flaky tests, but those continued to failed randomly after the revert. See: https://bugs.chromium.org/p/chromium/issues/detail?id=1005723#c24 After discussing with Toon, we decided that the memory gains from allocating descriptor arrays in young space outcome the few micro-benchmark regressions. Original change's description: > [Heap] Allocate descriptor array in young > > This hopefully fix the regression test from c693e005 > > Bug: v8:1004766 > Change-Id: If3c554070af6b795e4b3f99cd592a62453028874 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1809363 > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Commit-Queue: Victor Gomes <victorgomes@google.com> > Cr-Commit-Position: refs/heads/master@{#63858} Bug: v8:1004766 Change-Id: I649f8e70abf2e5605bc073db788642705498166b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1824940 Auto-Submit: Victor Gomes <victorgomes@google.com> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Victor Gomes <victorgomes@google.com> Cr-Commit-Position: refs/heads/master@{#63986}
-
Dominik Inführ authored
InvalidateRecordedSlots needs to invalidate old-to new objects unconditionally. Checking slot_set_[OLD_TO_NEW] is not enough, since the sweeping_slot_set_ could still contain slots. ClearRecordedSlot in MigrateFastToFast is not necessary as well. This is only required in DeleteObjectPropertyFast since we might potentially shrink the object. Bug: chromium:1008301,chromium:1008046 Change-Id: If2c757a619b52d070825e4faadce7710eae61a07 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1826717Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/master@{#63985}
-
Sathya Gunasekaran authored
This reverts commit c70de45c. Reason for revert: speculative revert Original change's description: > [TurboProp] Add MidTierMachineLoweringPhase to avoid Late/MemoryOptimizationPhases > > Adds a MidTierMachineLoweringPhase which does select and memory lowering to machine > nodes. This allows TurboProp to avoid the LateOptimizationPhase and > MemoryOptimizationPhase phases while still lowering all simplified nodes to > machine nodes before instruction selection. > > BUG=v8:9684 > > Change-Id: I60533db93152ff044a2fa8c1c31adedeb3747856 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1815130 > Reviewed-by: Georg Neis <neis@chromium.org> > Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> > Cr-Commit-Position: refs/heads/master@{#63981} TBR=rmcilroy@chromium.org,neis@chromium.org Change-Id: I99cddb2c435ad6347bdc9b61b95d48dca94294c7 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:9684 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1826720Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#63984}
-
Clemens Backes authored
R=adamk@chromium.org No-Try: true Change-Id: I71824f52802c125dbee51216054575f44d08d534 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1825243 Commit-Queue: Clemens Backes [né Hammacher] <clemensb@chromium.org> Auto-Submit: Clemens Backes [né Hammacher] <clemensb@chromium.org> Reviewed-by: Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#63983}
-
Michael Achenbach authored
TBR=tmrts@chromium.org,liviurau@chromium.org NOTRY=true Change-Id: I2ab31012de34716d50586ef44da43a0bc8f89ac6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1826719Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#63982}
-
Ross McIlroy authored
Adds a MidTierMachineLoweringPhase which does select and memory lowering to machine nodes. This allows TurboProp to avoid the LateOptimizationPhase and MemoryOptimizationPhase phases while still lowering all simplified nodes to machine nodes before instruction selection. BUG=v8:9684 Change-Id: I60533db93152ff044a2fa8c1c31adedeb3747856 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1815130Reviewed-by: Georg Neis <neis@chromium.org> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#63981}
-
Mike Stanton authored
Change-Id: I333ceca8c811c32dd6c7cad941082ca7a87a985e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1826718Reviewed-by: Michael Stanton <mvstanton@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Michael Stanton <mvstanton@chromium.org> Cr-Commit-Position: refs/heads/master@{#63980}
-
Clemens Backes authored
R=adamk@chromium.org No-Try: true Change-Id: Idedb3d80382c876f09c545cf0f1cc7387b9ad805 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1825242 Auto-Submit: Clemens Backes [né Hammacher] <clemensb@chromium.org> Reviewed-by: Adam Klein <adamk@chromium.org> Commit-Queue: Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#63979}
-
Jakob Gruber authored
It looks like codegen on ia32 may sometimes miss a byte during emit_arith. Our working theory is that this happens because `length` in emit_operand, for whatever reason, is 0 and we thus do not advance `pc_` correctly. The tentative fix is to use EMIT to increment the pc_ on each single write instead of relying on `length`. Bug: v8:9774 Change-Id: I522eef96481f44f57628f914c9c170f1644ec47a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1824941 Auto-Submit: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#63978}
-
Clemens Backes [né Hammacher] authored
This reverts commit 253fddc6. Reason for revert: Still fails on android builders: https://ci.chromium.org/p/v8/builders/ci/V8%20Android%20Arm%20-%20builder/28305 Original change's description: > Update V8 DEPS. > > Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/7f88e8b..c9a62d3 > > Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/6bb5733..e00ffeb > > Rolling v8/third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools/+log/7211cf6..f0faf48 > > Rolling v8/tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang/+log/d0c91c0..925d2e5 > > TBR=machenbach@chromium.org,tmrts@chromium.org > > Change-Id: I7a74868be617b958054f1387f6ca3f15ad3ab079 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1826260 > Reviewed-by: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com> > Commit-Queue: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com> > Cr-Commit-Position: refs/heads/master@{#63976} TBR=machenbach@chromium.org,v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com,tmrts@chromium.org Change-Id: I94d44623846a3f39e629e77e25b26d62b92ba84b No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1825240Reviewed-by: Clemens Backes [né Hammacher] <clemensb@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#63977}
-
v8-ci-autoroll-builder authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/7f88e8b..c9a62d3 Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/6bb5733..e00ffeb Rolling v8/third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools/+log/7211cf6..f0faf48 Rolling v8/tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang/+log/d0c91c0..925d2e5 TBR=machenbach@chromium.org,tmrts@chromium.org Change-Id: I7a74868be617b958054f1387f6ca3f15ad3ab079 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1826260Reviewed-by: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com> Commit-Queue: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com> Cr-Commit-Position: refs/heads/master@{#63976}
-
- 25 Sep, 2019 17 commits
-
-
Ng Zhi An authored
A lot of the instructions in RO_OP_LIST do not require temp registers in the codegen, but a temp register is emitted. We split RO_OP_LIST into two lists, one which requires temp registers RO_OP_LIST_ONE_TEMP, and RO_OP_LIST is now for instructions that do not use temp registers. There are a couple more instructions currently in RO_OP_LIST, but use scratch registers in the codegen, those can be cleaned up to use temp registers and then moved into RO_OP_LIST_ONE_TEMP. Change-Id: Iccc49111c1cce05324c64c36458f49920231d6bf Bug: v8:9396 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1819870 Commit-Queue: Zhi An Ng <zhin@chromium.org> Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Cr-Commit-Position: refs/heads/master@{#63975}
-
Z Nguyen-Huu authored
Bug: v8:8976 Change-Id: Ibe20feb63b676f76b21dd8be7a9d1f3887af470a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1816926 Commit-Queue: Z Nguyen-Huu <duongn@microsoft.com> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#63974}
-
Ng Zhi An authored
FMA operations is always supported on arm64, so in the test, we expect fused results on arm64 whenever we run on TurboFan. Bug: v8:9415 Change-Id: Ia2016533b9b76ee14b8c8da1c0d4ff7753276714 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1819723 Commit-Queue: Zhi An Ng <zhin@chromium.org> Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Cr-Commit-Position: refs/heads/master@{#63973}
-
Frank Tang authored
It is controlled by flag harmony_intl_other_calendars. But this is also pretty intern-dependent with harmony_intl_add_calendar_numbering_system and should be launched all together to be meaningful. https://github.com/tc39/ecma402/pull/349/ #349 Normative: Allow calendar to determine choice of pattern https://github.com/tc39/ecma402/pull/351 #351 Normative: Permit relatedYear and yearName in output Bug: v8:9155 Change-Id: I67cd6bba6276bbb995186a9fe6202429d724ba61 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1588401Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Frank Tang <ftang@chromium.org> Cr-Commit-Position: refs/heads/master@{#63972}
-
Dominik Inführ authored
Since https://crrev.com/c/1771783 the mutator owns the old-to-new remembered set, while the sweeper modifies the sweeping-slot-set. This allows us to update the old-to-new remembered set non-atomically. In this CL the mutator now inserts non-atomically into the remembered set. The AccessMode is now explicit for Insert-operations as well. Bug: v8:9454 Change-Id: I94730345f7dd34fe309839969330687c94b3080b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1803652 Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#63971}
-
Milad Farazmand authored
Port 12a9ee3a Original Commit Message: 32 bit Smis are incompatible with pointer compression so we land disable them before enabling pointer compression in order to separate memory and performance regressions caused by 31 bit Smis from pointer compression change. R=ishell@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: I5d180c6435796284224a45053ff44e7a25fa6e2a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1822118Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#63970}
-
Ingvar Stepanyan authored
This addition will allow to experiment with parsing DWARF information from WebAssembly on the frontend side for improved debugging. The frontend must explicitly opt-in to this experiment by setting `supportsWasmDwarf: true` in `Debugger.enable` params. When this option is present, and Wasm appears to contain DWARF information (heuristic: `.debug_info` custom section is present), V8 will not try to disassemble and report each WebAssembly function as a separate fake script, but instead will report Wasm module as a whole. Note that V8 already does this when Wasm is associated with a source map. Additionally, this CL adds a dedicated `Debugger.getWasmBytecode` command that accepts scriptId and returns raw wire bytes of the chosen WebAssembly module. Change-Id: I7a6e80daf8d91ffaaba04fa15688f2ba9552870f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1809375 Commit-Queue: Ingvar Stepanyan <rreverser@google.com> Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#63969}
-
Peter Marshall authored
This was missed in a file move Bug: chromium:991547 Change-Id: I4442f2e4e7acdb91b16151714b87e229bce1a409 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1824945 Commit-Queue: Peter Marshall <petermarshall@chromium.org> Commit-Queue: Simon Zünd <szuend@chromium.org> Auto-Submit: Peter Marshall <petermarshall@chromium.org> Reviewed-by: Simon Zünd <szuend@chromium.org> Cr-Commit-Position: refs/heads/master@{#63968}
-
Clemens Hammacher authored
This flips the --wasm-far-jump-table flag. It will allow for more than 128MB of code space per wasm module on arm64, and will increase the limit on the number of modules per process on x64 (was ~1000 before, because we reserved 1GB for the code space per module). R=mstarzinger@chromium.org Bug: v8:9477 Change-Id: I870ec616f4812e38ef1e3fccf0629854a247bb4f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1815247Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Clemens Backes [né Hammacher] <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#63967}
-
Ross McIlroy authored
Seperates the memory lowering operations into a seperate MemoryLowering class which is used by the MemoryOptimizer. This will enable TurboProp to reduce memory operations without having to do a full memory optimization pass. BUG=v8:9684 Change-Id: I1b333f1360fd342612672842bf879f44ab1ee60c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1815243Reviewed-by: Georg Neis <neis@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#63966}
-
Thibaud Michaud authored
Allows JS functions returning array-like objects to be imported as multi-return functions in WebAssembly modules. Importing a generator does not work as required by the specification yet. R=mstarzinger@chromium.org Bug: v8:9492 Change-Id: Iaf61a0f718eb50676913aa1486fb39cebecfc090 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1815246 Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#63965}
-
Dominik Inführ authored
The previous CL https://crrev.com/c/1771783 introduced the old-to-new invalidation set, while still manually deleting slots in the remembered set. This CL only clears slots during sweeping when shrinking objects. The invalidation set is now used to filter slots in scavenge and mark-compact. Bug: v8:9454 Change-Id: I3a4c562d29cce0eddd9884e5f6fc1a09d1b5cd5e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1807275 Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#63964}
-
Yu Yin authored
when wasm have multiple returns but not aligned such as return {kWasmI32, kWasmI64, kWasmI64, kWasmI32 } like test/wasm-api-tests/multi-return.cc do, wasm compiler will generate store instructions but not unaligned store instructions to store the return values, this will cause check failed on mips simulator, the test maybe will successful on mips native machine if the host kernel can handle the unaligend stores. This patch also fix the return address offset. Change-Id: I7de93fdbef3341e7d0057f6ecbc95a9d2f86c943 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1824309 Commit-Queue: Clemens Backes [né Hammacher] <clemensh@chromium.org> Reviewed-by: Clemens Backes [né Hammacher] <clemensh@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#63963}
-
Dan Elphick authored
In preparation for Code objects that aren't executable and can be in RO_SPACE, pass an Isolate into Code::Disassemble. Bug: v8:7464 Change-Id: I99f5faf23dd4709a48925e1ae44d1ce595ea6f5f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1822043Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#63962}
-
Clemens Hammacher authored
With the far jump table, we need to distinguish the maximum size of a single code space from the maximum total code size per module. On arm64, they differ, because we now support 1GB of code space, but each code space is still limited to 128MB. Bug: v8:9477 R=mstarzinger@chromium.org Change-Id: I7b9aaec56a1d9d1f70573b6b895216d5b3f38346 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1815253 Commit-Queue: Clemens Backes [né Hammacher] <clemensh@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#63961}
-
Yu Yin authored
Port 12a9ee3a Original Commit Message: 32 bit Smis are incompatible with pointer compression so we land disable them before enabling pointer compression in order to separate memory and performance regressions caused by 31 bit Smis from pointer compression change. Change-Id: I19647f18e7feafc6ca5b922c73785839ab528421 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1824306Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Yu Yin <xwafish@gmail.com> Cr-Commit-Position: refs/heads/master@{#63960}
-
Dan Elphick authored
Moves the following functions from CodeStubAssembler to BuiltinsStringAssembler: SubString CopyStringCharacters AllocAndCopyStringCharacters Bug: v8:9396 Change-Id: Ieb534b7fa7e72db9b05cdc2a34bd88b7a52ee985 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1822040Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Dan Elphick <delphick@chromium.org> Auto-Submit: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#63959}
-