- 08 Nov, 2019 9 commits
-
-
Michael Starzinger authored
This removes the support to emit runtime calls in Liftoff code and uses WebAssembly runtime stubs instead. Calls to such stubs are smaller and more efficient. They also use embedded builtins directly instead of the on-heap {Code} object trampolines. This also removes the last use of a runtime call that passes a dynamically loaded CEntry builtin from the macro assembler. R=clemensb@chromium.org Change-Id: I9fa9f3b7a2b66cb76a677b70ce3cee49cb340f0f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1903443 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#64855}
-
Clemens Backes authored
A minor optimization to the four bit rotation functions. Drive-by: Make them constexpr. R=ahaas@chromium.org Bug: v8:9810 Change-Id: Ic563310030aa487f976017032291a553705d1ec2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1903972Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#64854}
-
Clemens Backes authored
This removes dead classes and functions from utils.h. R=sigurds@chromium.org Bug: v8:9810, v8:8912 Change-Id: I8e15600f77b8ccc8ce25b4fd25e6a1b4303ad657 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1903969 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#64853}
-
Andreas Haas authored
R=jkummerow@chromium.org Notry: true Bug: v8:9810 Change-Id: I3859508de250225b9d8ae322e107079f6dc0c88b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1903974 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#64852}
-
Clemens Backes authored
{WhichPowerOf2} is basically the same as {CountTrailingZeros}, with a restriction to powers of two. Since it does not use or depend on any v8 internals, it can be moved to src/base/bits.h. This CL also changes the implementation to use the CTZ builtin if available, and falls back to popcnt otherwise. Drive-by: Make it constexpr, and rename to {WhichPowerOfTwo}. R=sigurds@chromium.org Bug: v8:9810, v8:8912 Change-Id: I8368d098f9ab1247f3b9f036f1385a38de10cc6a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1903966Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#64851}
-
Clemens Backes authored
This function is trivial, can and be inlined to the single use. This makes utils.h a tiny little bit smaller. R=verwaest@chromium.org Bug: v8:9810, v8:8912 Change-Id: I877f3713530644a1cb9e0f286cf87f55072d33da Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1903444Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#64850}
-
Clemens Backes authored
In streaming compilation, we were computing a way too low code size estimate, since all {WasmFunction::code} fields were still zero when we were calling {EstimateNativeModuleCodeSize}. This lead to many separate code spaces being created during compilation, creating significant performance and memory overhead. This CL fixes this by passing the code section length when creating the {NativeModule}. From this, we can compute the code size estimate just as before. Drive-by: Rename "functions_count" to "num_functions" in {ProcessCodeSectionHeader} to be consistent with the declaration. R=ahaas@chromium.org Bug: v8:9950 Change-Id: I30a54c01ed24d0dfecb8a4b6d123015f1803ddeb Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1903439 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#64849}
-
Ulan Degenbaev authored
Now incremental marker and stop-the-world marker use the same visitor, which is derived from MarkingVisitorBase. This removes code duplication and also should reduce binary size. The marking worklist processing code also changes to not color the object black before visiting it. Instead the visitor colors the object black in ShouldVisit method. Bug: chromium:1019218 Change-Id: I57971122f3c77ad2770b6754d696b79d802ef1a4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1901271 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/master@{#64848}
-
v8-ci-autoroll-builder authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/6f08017..3cf8d94 Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/1944f6e..f9004ee Rolling v8/third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools/+log/23247b9..1917f7a Rolling v8/tools/clang/dsymutil: OWlhXkmj18li3yhJk59Kmjbc5KdgLh56TwCd1qBdzlIC..M56jPzDv1620Rnm__jTMYS62Zi8rxHVq7yw0qeBFEgkC TBR=machenbach@chromium.org,tmrts@chromium.org Change-Id: Ie03147c4aaff505fd88c8de6a435db9ae8fdc997 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1905106Reviewed-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@{#64847}
-
- 07 Nov, 2019 24 commits
-
-
Ng Zhi An authored
Bug: v8:9813 Change-Id: Ie99fdbf5307a1515a1838ac6902a5bcd99d11e14 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1900660Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#64846}
-
Clemens Backes authored
This makes the {code_size_estimate} computation explicit in the caller, and removes one of the two {NewNativeModule} constructors. It turns out that the calculation is totally off in the streaming calculation phase, since no function bodies have been parsed yet. So all {WasmFunction::code} fields are still empty, and we compute an estimate that is way too low. This CL prepares the actual fix for that (by computing a better estimate at specific call sites). R=ahaas@chromium.org Bug: v8:9950 Change-Id: I68a891c97e5f65a9c7e73e21684bdfa7e261e216 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1901273 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#64845}
-
Milad Farazmand authored
Change-Id: I145dd2ea5fd2308301ba7e6710f84f276dc70367 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1903809Reviewed-by: Zhi An Ng <zhin@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#64844}
-
Santiago Aboy Solanes authored
Change-Id: Ia6b805c48f71cea7a0f0ada06c9a35713ed49f28 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1903968Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#64843}
-
Nico Hartmann authored
Bug: chromium:1021712 Change-Id: I9523760f2fa11726dd7015058b2267035f3f9f7a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1903442 Commit-Queue: Nico Hartmann <nicohartmann@chromium.org> Reviewed-by: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#64842}
-
Clemens Backes authored
R=ahaas@chromium.org Bug: v8:9810 Change-Id: I9f6d13445c8c577256cabe070f9082d041af3a2d No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1903437Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#64841}
-
Dominic Farolino authored
This CL fixes the lengths of the console dir() and table() methods to match the WHATWG Console Standard and the IDL WPTs. R=mathias@chromium.org Bug: chromium:948678 Change-Id: I2c603e202a3e5995eec06dadac09807f76ee9167 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1902968Reviewed-by: Mathias Bynens <mathias@chromium.org> Commit-Queue: Dominic Farolino <dom@chromium.org> Cr-Commit-Position: refs/heads/master@{#64840}
-
Hannes Payer authored
Change-Id: I5c6004e77ffdf76679ecf764d3048917f2890b23 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1903438Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> Commit-Queue: Hannes Payer <hpayer@chromium.org> Cr-Commit-Position: refs/heads/master@{#64839}
-
Zhao Jiazhong authored
port 42e8c231 https://crrev.com/c/1899770 Original Commit Message: [Liftoff] Implement i64 shift with immediate Especially on ia32 and x64, shifts with immediate generate much shorter and more efficient code. Change-Id: Ia7f20db8e3ed88efe8c09e4afc9dbadc8e3b0362 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1903289 Auto-Submit: Zhao Jiazhong <kyslie3100@gmail.com> Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#64838}
-
Andreas Haas authored
With this CL we prevent embedders to allocate backing stores that are bigger than what can be handled by V8. R=ulan@chromium.org CC=jkummerow@chromium.org Bug: chromium:1008840 Change-Id: Ifff5e14c42fbdae187283540a54ffbfeda935574 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1900455Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#64837}
-
Sigurd Schneider authored
In the presence of default arguments, the body of the function gets wrapped into another block. This caused our trailing-range-after-return optimization to not apply, because the wrapper block had no source range assigned. This CL correctly assignes a source range to that block, which allows already present code to handle it correctly. Note that this is not a real coverage bug; we've just been reporting whitespace as uncovered. We're fixing it for consistency. Originally reported on github.com/bcoe/c8/issues/66 Bug: v8:9952 Change-Id: Iab3905f558eb99126e0dad8072d03d0a312fdcd3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1903430 Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#64836}
-
Dan Elphick authored
Make every CEntry_* builtin except CEntry_Return1_DontSaveFPRegs_ArgvOnStack_NoBuiltinExit non-executable since they don't seem to be needed. The remaining one is still required until Linkage::GetCEntryStubCallDescriptor is converted to use CallBuiltinPointer. Bug: v8:9338 Change-Id: Id1fcad95958ec3299328f7ed0e322ff2f766cfd4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1897540 Commit-Queue: Dan Elphick <delphick@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#64835}
-
Santiago Aboy Solanes authored
Since the turbo_decompression_elimination flag is removed, there are several methods in machine-type.h that get simplified, e.g TypeCompressedTaggedPointer() can be replaced by just "TaggedPointer()". Also Removing the creation of Change to/from Compressed nodes. Removing these Change nodes' logic is left to a follow-up CL. Bug: v8:7703 Change-Id: Iff1f9aa8361189cf781a26317fd342b942fd5aa4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1897537 Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#64834}
-
Santiago Aboy Solanes authored
Bug: v8:7327 Change-Id: I79c55d93b8a9f05b81fcbb1897d946cb56e99370 Notry: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1901270Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#64833}
-
Dominik Inführ authored
Start experiment to promote all young live objects during mark-compact. The last CL https://crrev.com/c/1879938 got reverted because of a flaky test, see v8:9192. Change-Id: I16897f45fffeafbb7e70c21899976a4c026e69ba Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1903432Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/master@{#64832}
-
Dan Elphick authored
Creates new APIs to get Shared Memory statistics like the size of read-only space and potentially the memory used by shared array buffers. Currently all shared memory statistics are zero. Bug: v8:7464 Change-Id: Ib8d58f885beaa1d65ccef7b64dd4f3db4149bca3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1900465 Commit-Queue: Dan Elphick <delphick@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#64831}
-
Dominik Inführ authored
When --always-promote-young-mc is enabled, this test becomes more flaky. Increase old space size, such that objects fit into the old generation during mark-compact. Bug: v8:9192 Change-Id: Iad3b914c7d5b7bafa752f3b6178684a137bd8dad Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1890101Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/master@{#64830}
-
Dominik Inführ authored
Reuse sweeping+free list allocation code from SweepAndRetryAllocation in RawSlowRefillLinearAllocationArea. Share code such that bugs like the linked one are less likely to happen. Bug: chromium:1020981 Change-Id: I0abfaa9f7a8f2b62ad24ca85774130f354104e93 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1901277Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/master@{#64829}
-
Clemens Backes authored
This is a reland of 54379af9. Instead of removing the limit completely, this limits to 128 parallel tasks now. This avoids some special handling for the previous default value of -1. Original change's description: > [wasm] Remove fixed limit on number of background tasks > > After fixing https://crbug.com/v8/8916, background compilation scales > far beyond 10 threads, especially for TurboFan (where much more work is > parallelizable). Thus, remove the limit of 10 background compilation > tasks, and use all available threads instead. > > R=mstarzinger@chromium.org > > Bug: v8:8916 > Change-Id: I13c30777e3c85b2de7901b5eac3e6a41457a56f9 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1893348 > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > Commit-Queue: Clemens Backes <clemensb@chromium.org> > Cr-Commit-Position: refs/heads/master@{#64724} Bug: v8:8916, chromium:1021442 Change-Id: Ie9a9368c74d26c4595c0e94e914b025e403daaa4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1899991Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#64828}
-
Zhao Jiazhong authored
port d710756a https://crrev.com/c/1895569 Original Commit Message: [Liftoff] Implement i64 popcnt This is the last remaining missing instruction from the MVP. This CL adds support for ia32, x64, arm, and arm64. For CPUs which do not support the POPCNT instruction, there exists a fallback implementation in C. Change-Id: I2ebc7bc93c2a915f21139248ac1234146a1e8cb9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1902887 Auto-Submit: Zhao Jiazhong <kyslie3100@gmail.com> Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#64827}
-
Zhao Jiazhong authored
port 9c4ffc38 https://crrev.com/c/1897539 Original Commit Message: [Liftoff] Implement i32 shift with immediate In fact, shifts are used most often with a fixed shift amount. This CL adds special handling for this in Liftoff, to generate shorter and faster code. Change-Id: I71ae0013f88b928188e34a54da9ca93c617fd6e2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1902888 Auto-Submit: Zhao Jiazhong <kyslie3100@gmail.com> Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#64826}
-
Jakob Gruber authored
Runtime of this test has improved since we initially skipped it. Let's attempt unskipping on all non-debug builds. Bug: v8:8411 Change-Id: I5d409f7359532e3d7d18f5b0a77765165478d44a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1903426 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Auto-Submit: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#64825}
-
Matheus Marchini authored
Lack of size information can cause debugging and observability tools to misbehave or to fail. We can see the size for all builtins is zero with objdump: $ objdump -t d8 | grep Builtins_ArgumentsAdaptorTrampoline 0000000001084a00 l F .text 0000000000000000 Builtins_ArgumentsAdaptorTrampoline ^ Size is zero Tools like bpftrace rely on the function size to guarantee a tracepoint is added within function boundaries. Without size information, those tools can't guarantee a tracepoint will be added safely. Add .size directive for each builtin function, as described in https://sourceware.org/binutils/docs-2.24/as/Size.html#Size, to fix this issue. We can see with objdump that the size is properly set: $ objdump -t d8 | grep Builtins_ArgumentsAdaptorTrampoline 00000000010bf820 l F .text 0000000000000140 Builtins_ArgumentsAdaptorTrampoline R=bmeurer@chromium.org, hpayer@chromium.org, verwaest@chromium.org, yangguo@chromium.org Change-Id: I4cd2b0a12b629498dd9d7465cc1002dda37028c7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1898807 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#64824}
-
v8-ci-autoroll-builder authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/7e1e30f..6f08017 Rolling v8/third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools/+log/2150a69..23247b9 TBR=machenbach@chromium.org,tmrts@chromium.org Change-Id: I9664886f2fb2771090b865ad89157010b45965e6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1902488Reviewed-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@{#64823}
-
- 06 Nov, 2019 7 commits
-
-
Francis McCabe authored
Bug: Change-Id: I19a549f773d5a6ce9ffc5b869215e3bad9aebac6 Failing test: https://ci.chromium.org/p/v8/builders/ci/V8%20Linux64%20-%20arm64%20-%20sim%20-%20pointer%20compression/3128 Change-Id: I19a549f773d5a6ce9ffc5b869215e3bad9aebac6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1897248 Commit-Queue: Francis McCabe <fgm@chromium.org> Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#64822}
-
Sathya Gunasekaran authored
This reverts commit 0457bed1. Reason for revert: doesn't help perf too much Original change's description: > [ic] Inline loads for heapnumber and cached string as ArrayIndex > > Bug: chromium:1016738, chromium:1016709, v8:9449 > Change-Id: I5b50f21b3e40651e16201e63b4a7010b1bf0c639 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1897890 > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > Reviewed-by: Georg Neis <neis@chromium.org> > Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> > Cr-Commit-Position: refs/heads/master@{#64766} TBR=neis@chromium.org,gsathya@chromium.org,verwaest@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. Bug: chromium:1016738, chromium:1016709, v8:9449 Change-Id: I8a68cac329f06fa47516ecd9708f1e91e5d15b77 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1901276Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#64821}
-
Ulan Degenbaev authored
The (age, context) pair has to be added atomically in to the weak array of detached contexts. Otherwise, GC may happen after insertion of age and observe inconsistent state. Bug: chromium:1016703 Change-Id: Icb20bed4359904b2d976986a236558542e314bbf Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1895573 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#64820}
-
Ng Zhi An authored
Introduce new operator LoadTransform that holds a LoadTransformInfo param, which describes the kind of load (normal, unaligned, protected), and a transformation (splat or extend, signed or unsigned). We have a new method that a full decoder needs to implement, LoadTransform, which resuses the existing LoadType we have, but also takes a LoadTransform, to distinguish between splats and extends at the decoder level. This implements 4 out of the 10 suggested load splat/extend operations (to keep the cl smaller), and is also missing interpreter support (will be added in the future). Change-Id: I1e65c693bfbe30e2a511c81b5a32e06aacbddc19 Bug: v8:9886 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1863863Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#64819}
-
Sathya Gunasekaran authored
Change-Id: Idc0cd3a96ba329cf8175f22eea60b7614d73d929 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1901272 Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Reviewed-by: Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#64818}
-
Milad Farazmand authored
Port b6edadc0 R=zhin@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: I3d4ea2be5f97688022733a36d36f9f86499b962d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1901124Reviewed-by: Junliang Yan <jyan@ca.ibm.com> Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#64817}
-
Clemens Backes authored
For now, both are implemented via a C call, just like i32_rol and i32_ror. If they turn out to be critical for performance, we can still implement them via hardware instructions on selected platforms. R=jkummerow@chromium.org Bug: v8:9919 Change-Id: I16affdfe397a08ef6a51d310f018b3a099e80e44 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1900454 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#64816}
-