- 08 Oct, 2019 12 commits
-
-
Clemens Backes authored
This brings our constants back in line with the changed spec text. We already use kExprTableGet and kExprTableSet, but for locals and globals we still use the old wording. This renaming is mostly mechanical. PS1 was created using: ag -l 'kExpr(Get|Set)Global' src test | \ xargs -L1 sed -E 's/kExpr(Get|Set)Global\b/kExprGlobal\1/g' -i PS2 contains manual fixes. R=mstarzinger@chromium.org Bug: v8:9810 Change-Id: I064a6448cd95bc24d31a5931b5b4ef2464ea88b1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1847355 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#64163}
-
Eric Leese authored
This is the first piece of the wasm debugging prototype. This change adds support for removing breakpoints in WasmModuleObject. This change does not introduce any ways of exposing this feature. Code mostly pulled from Paolo Severini's prototype. Bug: chromium:1010467 Change-Id: Ia2821c59e89aa7f234398bf41e145b907085b382 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1826902Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Eric Leese <leese@chromium.org> Cr-Commit-Position: refs/heads/master@{#64162}
-
Clemens Backes authored
This brings our constants back in line with the changed spec text. We already use kExprTableGet and kExprTableSet, but for locals and globals we still use the old wording. This renaming is mostly mechanical. PS1 was created using: ag -l 'kExpr(Get|Set|Tee)Local' src test | \ xargs -L1 sed -E 's/kExpr(Get|Set|Tee)Local\b/kExprLocal\1/g' -i PS2 contains manual fixes. R=mstarzinger@chromium.org Bug: v8:9810 Change-Id: I1617f1b2a100685a3bf56218e76845a9481959c5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1847354Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#64161}
-
Jakob Kummerow authored
The particular combination of (1) having callee-saved registers in the stub per the C++ calling convention, (2) passing arguments to the callee on the stack, and (3) that callee throwing an exception, caused the saved registers to be restored to bogus values. To fix this, the stack unwinder needs to compute the stub's frame size correctly (i.e. without stack parameters). Bug: chromium:1007608 Change-Id: Iadd99f10764f49f9e3c620c05723e09172c73cf7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1847352Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#64160}
-
Michael Starzinger authored
This removes the output parameter returning the number of stack slot for the frame from {LookupExceptionHandlerInTable}. This is a remnant from when V8 had dynamically sized frames (aka. full-codegen), which is no longer the case. The frame size can easily be computed independent of the exception handler found during the lookup. R=jkummerow@chromium.org BUG=v8:9810 Change-Id: I0c7e04c75d7e24f2731e22370833005c17d0297a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1847155Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#64159}
-
Mythri A authored
Empty slow element dictionary had the sticky bit set. This bit was used to indicate that the dictionary cannot go to the fast mode either because the dictionary had elements with attributed or elements at large indices. There is no reason for the empty dictionary to have this bit set. This causes bugs in some corner cases. Bug: chromium:1003732 Change-Id: Ib29e1cda784869b9deb9361d8e6b5539f7154a38 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1833686Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Mythri Alle <mythria@chromium.org> Cr-Commit-Position: refs/heads/master@{#64158}
-
Ingvar Stepanyan authored
Unfortunately, codebase contains lots of places that use one of the two formats as an internal representation for Wasm locations: 1) {line: 0, column: byte offset within entire module} 2) {line: function index, column: byte offset within function} These places choose these formats interchangeably and convert from one to another depending on the presence of source map URL in Wasm. This is not very convenient and makes it hard to add support for DWARF which should behave just like Wasm with source maps - that is, report a raw Wasm script instead of fake scripts per each disassembled function, and use representation (1) instead of (2) internally. I tried to refactor these locations and avoid checking for source map URLs in the previous CL - https://crrev.com/c/v8/v8/+/1833688. However, it quickly got out of hand, and updating code in one place just kept revealing yet another that gets broken by the changes, so I made a decision to abandon it and leave to someone who knows the codebase better. Instead, this CL is based on https://crrev.com/c/v8/v8/+/1809375, but, rather than trying to integrate DWARF separately and only for supported agents, it pretends that encountering DWARF section is the same as encountering a `sourceMappingURL` section with fake URL "wasm://dwarf". This ensures that Wasm with DWARF behaves exactly in the same way as Wasm with source maps, just like we want, with minimal changes to the codebase. The only downside is that frontends without DWARF support won't get even a disassembled version of Wasm that contains DWARF info. This is unfortunate, but, as per previous discussions, should be fine given current state of Wasm debugging. Change-Id: Ia7256075e4bfd2f407d001d02b96883d7267436e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1834341 Commit-Queue: Ingvar Stepanyan <rreverser@google.com> Reviewed-by: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#64157}
-
Santiago Aboy Solanes authored
This is a reland of 9b1e174f\ Reverted for a test failure that was unrelated to this CL. It was fixed in https://chromium-review.googlesource.com/c/v8/v8/+/1845223. Original change's description: > [ptr-compr] Storing a Tagged value stores the lower 32 bits > > This CL changes the Tagged stores when pointer compression is enabled. > It shouldn't affect anything for the time being since if we have pointer > compression enabled, we are going to be storing Compressed values. Later, > we will eliminate the Compressed representation and that it's where it > will come into effect. > > The Arm64 side of the CL looks bigger since we eliminated the opcode in > https://chromium-review.googlesource.com/c/v8/v8/+/1803345. > > Bug: v8:7703 > Change-Id: Ic4afbff9646b5d058adb9619b20ccccb3f5aed45 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1822044 > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> > Cr-Commit-Position: refs/heads/master@{#64133} Bug: v8:7703 Change-Id: I7775e90c36f180adb0484b22eaf3918d9c012b77 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1845219Reviewed-by: Igor Sheludko <ishell@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#64156}
-
Thibaud Michaud authored
R=neis@chromium.org Bug: v8:9088 Change-Id: I869e3b3b5426bbf0097096f5819a4debd91afcf0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1844782Reviewed-by: Georg Neis <neis@chromium.org> Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/master@{#64155}
-
Jakob Gruber authored
Left-shifting a variable of signed type containing a negative value is undefined behavior. Bug: chromium:1010465,v8:9330 Change-Id: Ide524f87a7d76f906f6034de4c6605df150c66a8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1847151Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#64154}
-
Clemens Backes authored
The test creates 10000 modules, which runs in less then one second in release builds, but can take much longer with stress flags and on special bots. It timed out on the tsan isolates bot in a variant passing --stress-wasm-code-gc. Since the test should only verify that we support more than 1000 modules in a single isolate, we do not need to run it in that variant. Thus just skip it. R=fgm@chromium.org Bug: v8:9814 Change-Id: Ie3a4f62a053b1f7cff2c2206f39ddd71a533ae3e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1845229Reviewed-by: Francis McCabe <fgm@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#64153}
-
v8-ci-autoroll-builder authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/359f95f..5c36051 Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/ddbd321..cd2fb1e Rolling v8/third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools/+log/c9256e1..e7ae514 TBR=machenbach@chromium.org,tmrts@chromium.org Change-Id: I943bdc1b17988202de69dc861d74c686f913c2e3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1846971Reviewed-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@{#64152}
-
- 07 Oct, 2019 28 commits
-
-
Deepti Gandluri authored
Bug: v8:9820 Change-Id: Ie9f00b18b7bfe7d16778f053d43dd368a960cc62 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1845689Reviewed-by: Bill Budge <bbudge@chromium.org> Commit-Queue: Deepti Gandluri <gdeepti@chromium.org> Cr-Commit-Position: refs/heads/master@{#64151}
-
Michael Lippautz authored
TracedGlobalTrait was unable to override v8::TracedGlobal<v8::Object> for avoiding the destructor because it is needed on the API surface itself and C++ ODR which prohibits specialization after template instantiation. Avoid this problem by providing a separate type TracedReference that, similar to TracedGlobal, is purely traced but avoids the destructor completely. This only works for embedders that have their memory management tied to V8 as it is prone to accessing already reclaimed objects otherwise. Bug: chromium:995684 Change-Id: Iab4332ed417b26c58638a8f9389174cc355a305b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1840972 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#64150}
-
Frank Tang authored
Remove test expectations whose behavior is not specified or contradicts the Stage 3 PR https://github.com/tc39/ecma402/pull/349 which we plan to land soon. The Chinese calendar (and other calendars) now need to choose different patterns for non-default calendars to support the correct behavior. Bug: v8:9320 Change-Id: Ia84e0eb1f7244b0d2d252071cf985d97f2acec58 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1838437 Commit-Queue: Frank Tang <ftang@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#64149}
-
Tobias Tebbi authored
For this, all Torque stub-linkage builtins use TFC instead of TFS, with a custom descriptor added to interface-descriptors.h To avoid having complex logic in the generated code, the new class TorqueInterfaceDescriptor contains the logic to create a CallInterfaceDescriptor from a signature consisting of TNode types. As an example and test, this CL ports StringCharAt to Torque. Bug: v8:7793 Change-Id: I8339d2ad6e4f908ebdc3b8d30244e4bcbd974f21 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1798427Reviewed-by: Hannes Payer <hpayer@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#64148}
-
Frank Tang authored
Bug: v8:9812 Change-Id: I222b9c3c8c87e83b61009c84e2ab0499187308e0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1842623Reviewed-by: Mathias Bynens <mathias@chromium.org> Reviewed-by: Shu-yu Guo <syg@chromium.org> Commit-Queue: Frank Tang <ftang@chromium.org> Cr-Commit-Position: refs/heads/master@{#64147}
-
Irina Yatsenko authored
Change-Id: Ibbcd91115c21e3513602a039ebb68a0107a4022f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1829172 Commit-Queue: Irina Yatsenko <irinayat@microsoft.com> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#64146}
-
Michael Lippautz authored
Bug: chromium:1005073 Change-Id: I300fd4ef272c0b69dade195048c11a828ac46203 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1845411 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Auto-Submit: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#64145}
-
Igor Sheludko authored
With the smi-corrupting decompression approach we don't have to sign extend Smis anymore and therefore we can switch to zero extending approach by moving the isolate root to the beginning of the reserved 4Gb region. Bug: v8:9706 Change-Id: Icd6008fa87d0924519b574fdec445976f742e306 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1835548 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#64144}
-
Santiago Aboy Solanes authored
Bug: v8:9684 Change-Id: I6988579693788d5bbc878c63269fe7c1bec65831 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1845223 Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#64143}
-
Seth Brenith authored
Just mechanical conversion to remove boilerplate code. When .tq and .h files didn't agree on what a field is named, I used the name from the .h file. In a couple of cases the generated accessor became slightly more specific (HeapObject instead of Object), and I had to update the code that uses those accessors accordingly. Change-Id: Ie3af1590e3889887b167c9d045b07860b01f7d15 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1776479Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Seth Brenith <seth.brenith@microsoft.com> Cr-Commit-Position: refs/heads/master@{#64142}
-
Junliang Yan authored
Disable because it's not yet supported on BE Bug: v8:9330 Change-Id: Ia850801d410d3eeaccf9933dd2669f6077e2919c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1834904Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#64141}
-
Dominik Inführ authored
TypedSlotSet is only recorded for code pages. Code pages are not swept concurrently to the application, so pre-freeing is not needed for typed slot sets anymore. Also replaces the manually allocated buffer with a regular std::vector. Bug: v8:9454 Change-Id: I901851ad8b525c1653c9818e6599308319aeade2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1844773Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/master@{#64140}
-
Maya Lekova authored
This reverts commit 9b1e174f. Reason for revert: Breaks arm64 sim debug build - https://ci.chromium.org/p/v8/builders/ci/V8%20Linux%20-%20arm64%20-%20sim%20-%20debug/17609 Original change's description: > [ptr-compr] Storing a Tagged value stores the lower 32 bits > > This CL changes the Tagged stores when pointer compression is enabled. > It shouldn't affect anything for the time being since if we have pointer > compression enabled, we are going to be storing Compressed values. Later, > we will eliminate the Compressed representation and that it's where it > will come into effect. > > The Arm64 side of the CL looks bigger since we eliminated the opcode in > https://chromium-review.googlesource.com/c/v8/v8/+/1803345. > > Bug: v8:7703 > Change-Id: Ic4afbff9646b5d058adb9619b20ccccb3f5aed45 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1822044 > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> > Cr-Commit-Position: refs/heads/master@{#64133} TBR=neis@chromium.org,jgruber@chromium.org,solanes@chromium.org Change-Id: I901f0802b40144492594f293657f7f2b58dc32cf No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:7703 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1845217Reviewed-by: Maya Lekova <mslekova@chromium.org> Commit-Queue: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#64139}
-
Hans Wennborg authored
It was disabled because it didn't use to work, but it does now, see bugs. Bug: chromium:803591, v8:9736 Change-Id: I53a04199f001b436bd5a247b51cd7c25e3a6e990 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1844776 Commit-Queue: Hans Wennborg <hans@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Auto-Submit: Hans Wennborg <hans@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#64138}
-
Clemens Backes authored
Some of the methods in {WasmCodeAllocator} can be called either without holding the lock, or while already holding it. In order to support both situations, we used a {RecursiveMutex} so far. This CL refactors this to be a simple {Mutex} again, and passes a {WasmCodeAllocator::OptionalLock} object which stores whether the lock is already held or not. Note that getting the lock twice fails immediately in debug builds, while forgetting to get the lock might only fail on TSan. The alternative would be to duplicate all methods, having one variant that expects that the lock is held and one that assume that it's unlocked. It would be multiple methods though to duplicate across both {NativeModule} and {WasmCodeAllocator}, hence I went for the {OptionalLock} instead. Bug: v8:9477 R=mstarzinger@chromium.org Change-Id: I4e32286cdb93385ac655d408191b330efdd7ad66 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1825338 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#64137}
-
Joey Gouly authored
Found while testing with asan. Change-Id: I82529422770653535aae148a4acc6089c5a4fee7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1844786Reviewed-by: Peter Marshall <petermarshall@chromium.org> Commit-Queue: Martyn Capewell <martyn.capewell@arm.com> Cr-Commit-Position: refs/heads/master@{#64136}
-
Igor Sheludko authored
So Word32Equal(YYY, CompressedHeapConstant(XXX)) is now generated as cmpl [r13+0xXXX], rYYY instead of movq rXXX,[r13+0xXXX] cmpl rYYY, rXXX Bug: v8:8948 Change-Id: I346c3e9bdb17ae5443e9e488da0eefa07e391b33 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1841353Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#64135}
-
Thibaud Michaud authored
R=mstarzinger@chromium.org Bug: v8:9492 Change-Id: Ie404eb6cb07ea033a10d29dd1b9aba6cb1f03b69 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1826663 Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#64134}
-
Santiago Aboy Solanes authored
This CL changes the Tagged stores when pointer compression is enabled. It shouldn't affect anything for the time being since if we have pointer compression enabled, we are going to be storing Compressed values. Later, we will eliminate the Compressed representation and that it's where it will come into effect. The Arm64 side of the CL looks bigger since we eliminated the opcode in https://chromium-review.googlesource.com/c/v8/v8/+/1803345. Bug: v8:7703 Change-Id: Ic4afbff9646b5d058adb9619b20ccccb3f5aed45 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1822044Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#64133}
-
Santiago Aboy Solanes authored
... and make sure that the arm64 ptr-compr bots proceed testing V8 without pointer compression in order to keep testing the other config. Bug: v8:7703 Change-Id: I0017345273d5328d95a338064dd80b44974c1c53 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1844780Reviewed-by: Igor Sheludko <ishell@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#64132}
-
Clemens Backes authored
This CL fixes the overlap check by using {<=} instead of {<}. This allows us to always use {std::copy_n}, which should fall back to {memcpy} internally (instead of the potentially slower {memmove} we were using before). This might also fix the regressions seen mostly on atom CPUs. R=leszeks@chromium.org Bug: chromium:1006157 Change-Id: Ib61048d65e99a9e7edac5ed894ceaf9e26ad4409 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1844781Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#64131}
-
Dan Elphick authored
Removes CodeStubAssembler::GotoIfDebugExecutionModeChecksSideEffects and associated test as well as the PerformSideEffectCheckForObject runtime function. Bug: v8:9396 Change-Id: Id7748be8fbf1d633f759fef8751ddca13a21748c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1824937Reviewed-by: Simon Zünd <szuend@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#64130}
-
Clemens Backes authored
The {GetNearRuntimeStubEntry} and {GetNearCallTargetForFunction} functions need to find the code space that contains the current function. This lookup requires a lock and is non-trivial. The repeated lookup caused severe regressions. This CL introduces a {JumpTablesRef} struct which holds information about the jump tables to use. It can be looked up once and then used for a whole function or even several functions within the same code space (in {NativeModule::AddCompiledCode} which adds a whole vector of compilation results). This fixes the regressions. R=ahaas@chromium.org Bug: chromium:1004262, v8:9477 Change-Id: I50bd8327a131e3bee79d86b6d7e867a506959312 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1840153 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#64129}
-
Joey Gouly authored
Placing these tests in anonymous namespaces, is the suggested fix according to the GCC documentation. The GCC documentation states: "If a type A depends on a type B with no or internal linkage, defining it in multiple translation units would be an ODR violation because the meaning of B is different in each translation unit. If A only appears in a single translation unit, the best way to silence the warning is to give it internal linkage by putting it in an anonymous namespace as well." Change-Id: I69a1e9b5f1789e9a7a62c762cd499809a72e0ea5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1836255 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#64128}
-
Clemens Backes authored
Because of a GCC bug we needed to use a functor instead of a constexpr function. Since we do not support gcc before version 5 any more, this can be cleaned up now. R=jkummerow@chromium.org Bug: v8:9396 Change-Id: I848c5a25e1d5fa44a1497b06826f9a59b93ed695 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1835543Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#64127}
-
Dominik Inführ authored
This CL removes the StoreBuffer and inserts slots into the RememberedSet directly from within the RecordWrite builtin. Only calls into C code when either the SlotSet-array or the bucket is not allocated. This avoids filling the store buffer up with duplicates or due to a write-heavy workload and then blocking the main thread on store buffer processing. The first CL (https://crrev.com/c/1815241) got reverted, because mksnapshot was using a different size for SlotSet than the final binary on ARM. This is fixed now, SlotSet has a standard layout. Bug: v8:9454 Change-Id: I881641f4ee08a8b42c36fdca8733138b908096bd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1842452Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/master@{#64126}
-
Dan Elphick authored
Fixes spurious DCHECK triggering due to bug introduced in https://chromium-review.googlesource.com/c/v8/v8/+/1836258. Bug: chromium:1011596 Change-Id: Ia3b1eb25d326e465b3239f191aad11d90a2e56a8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1844777Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#64125}
-
Mathias Bynens authored
We've gathered sufficient data, so the use counter can now be removed again. The use counter was originally added here: - V8 CL: https://chromium-review.googlesource.com/c/v8/v8/+/1718145 - Chromium CL: https://chromium-review.googlesource.com/c/chromium/src/+/1718367 The Chromium plumbing was removed here: https://chromium-review.googlesource.com/c/chromium/src/+/1839851 BUG=v8:9551 Change-Id: I829a0fe34d9ebade1403cb4d1c0b9c997f125074 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1844774Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#64124}
-