- 18 Feb, 2021 15 commits
-
-
Shu-yu Guo authored
Stage 3 proposal: https://github.com/tc39/proposal-class-static-block Bug: v8:11375 Change-Id: I579adab4679cce0190b9d8bd814a7cd297ebfa15 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2699449Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Commit-Queue: Shu-yu Guo <syg@chromium.org> Cr-Commit-Position: refs/heads/master@{#72847}
-
Toon Verwaest authored
Since we'll immediately run the first check. Bug: v8:11429 Change-Id: I47de46d8281b42c90d5cd1e1cbbfc6232c752da1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2700672 Auto-Submit: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#72846}
-
Junliang Yan authored
Change-Id: I78c6203a6415cc6a94ff4bcefa4421f8eb54cc0e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2704291Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Junliang Yan <junyan@redhat.com> Cr-Commit-Position: refs/heads/master@{#72845}
-
Thibaud Michaud authored
R=ahaas@chromium.org Bug: chromium:1179545 Change-Id: I0dddf6198a9574c925ca4faaf6b7b70453887029 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2704171Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/master@{#72844}
-
Thibaud Michaud authored
R=ahaas@chromium.org Bug: v8:8091 Change-Id: Id539bc96d9c791e3ed89d822189ab804ea9a24ea Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2699260Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/master@{#72843}
-
LiuYu authored
Port: 3b6eb335 Bug: v8:11265 Change-Id: I6ecd95e64b18a8f45f0aaa2f40d15f8c8cd43340 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2704212 Auto-Submit: Liu yu <liuyu@loongson.cn> Reviewed-by: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn> Commit-Queue: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn> Cr-Commit-Position: refs/heads/master@{#72842}
-
Leszek Swirski authored
Bug: v8:11420 Change-Id: I1289e2bb290ab80b761e2cdc3d85dff3621b4d0a Fixed: v8:11465 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2704151 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Auto-Submit: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#72841}
-
Clemens Backes authored
This avoids a lot of code repetition for generating the call descriptor and the actual call for a runtime stub. R=thibaudm@chromium.org Bug: v8:11384, v8:11453 Change-Id: Ice5d5513534ee854b50e323d788fa5cb2630e627 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2702336 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/master@{#72840}
-
Clemens Backes authored
... for creating a FixedArray. Calling builtins is generally cheaper than calling into the runtime, and this also saves us a int->Smi conversion. The builtin still has the "Wasm" prefix, since it's only used in wasm for now. R=thibaudm@chromium.org Bug: v8:11453 Change-Id: I0c5b6b71ae1b07608f51e685014a0e8dc0034111 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2698674Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#72839}
-
Paolo Severini authored
Modify the cctests for the inlined JS-to-Wasm calls to use the %ObserveNode intrinsic, to verify that the JSCall node is actually inlined . This requires a small refactoring of the %ObserveNode implementation. Bug: v8:11092 Change-Id: I01727143fec64c6c11c58b1b664f51daae5bfdb6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2677811 Commit-Queue: Paolo Severini <paolosev@microsoft.com> Reviewed-by: Georg Neis <neis@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> Cr-Commit-Position: refs/heads/master@{#72838}
-
Georg Neis authored
... to reflect reversed parameters. Change-Id: I3a709eb27f0c64f60ca3f5cb5b5fd7a1b8d5faa0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2702337 Auto-Submit: Georg Neis <neis@chromium.org> Reviewed-by: Victor Gomes <victorgomes@chromium.org> Commit-Queue: Victor Gomes <victorgomes@chromium.org> Cr-Commit-Position: refs/heads/master@{#72837}
-
Omer Katz authored
Bug: chromium:1056170 Change-Id: I9151d31a27ed5fc8e8c98b77b2132aaa7ee562e1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2702334Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Omer Katz <omerkatz@chromium.org> Cr-Commit-Position: refs/heads/master@{#72836}
-
Aleksei Koziatinskii authored
Eager evaluation in DevTools console relies on the builtins side effect attribution. Setters on Date object should be marked as no side effects if called on the temporary object. This bug was uncovered after considering screenshot from a tweet [1]. [1] https://twitter.com/shuding_/status/1362132984376160256 Change-Id: Iedc0e29e2bdab719304e2f0a0435845f24eaaadc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2703459Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Cr-Commit-Position: refs/heads/master@{#72835}
-
Jakob Gruber authored
There are two aspects to the non-JSObject parts of JSArrayRef: - JSArrayRef::length. Relevant only in two spots, 1. when reading (immutable) array boilerplates and 2. for GetOwnCowElement. - JSArrayRef::GetOwnCowElement. May read into a copy-on-write backing store. Relies on the invariant that cow backing stores are immutable. This CL renames the length accessor to length_unsafe to make the danger explicit at callsites. For GetOwnCowElement the refactor is slightly larger, since we now need to read into the backing store while keeping full control of object reads (e.g. JSArray::length and JSArray::elements_kind). We make all reads explicit at the call site by requiring that elements, elements kind, and length are passed in as arguments to GetOwnCowElement. Inside GetOwnCowElement, consistency between these is *not* guaranteed due to concurrency. At runtime, consistency *is* guaranteed through the reference-equality check on the elements seen during compilation. The actual elements read is implemented in ConcurrentLookupIterator::GetOwnCowElement. Bug: v8:7790 Change-Id: I9aa169ce4f2b1e2bfe1e9232007669eb7654a995 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2695403 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#72834}
-
v8-ci-autoroll-builder authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/a42736b..99c7b26 Rolling v8/third_party/aemu-linux-x64: 9VxcXi3GhpRxrjwHQwa801vcevGa1Pew2lw1KkUkgmgC..X81JiseHcDpE_0A4yjc6A232-BwI6vJSzYlXeAnpNwcC Rolling v8/third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools/+log/0391863..5e37f6d Rolling v8/third_party/icu: https://chromium.googlesource.com/chromium/deps/icu/+log/12825ed..dc4ceac Rolling v8/tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang/+log/823dc87..9990265 TBR=v8-waterfall-sheriff@grotations.appspotmail.com Change-Id: I8bf2a912e9015661d40c5bff074c862d98554080 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2703456Reviewed-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@{#72833}
-
- 17 Feb, 2021 25 commits
-
-
Omer Katz authored
Process global accessors for total physical size and used size are needed for blink. These are implemented via an allocation observer that atomically updates static counters. The public api only provides getters for the counters. An internal class is in charge of updating the counters as needed. A similar split is also applied to IsAnyIncrementalOrConcurrentMarking(). Drive-by: ProcessHeap is merged into cppgc::internal::WriteBarrier. Bug: chromium:1056170 Change-Id: Iaedebd1ac9d49238ce6bdd52ffa5d1ef4d28203d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2695394 Commit-Queue: Omer Katz <omerkatz@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#72832}
-
Omer Katz authored
IsMarking returns true as long as a marker exists. That means IsMarking is true during weak processing as well. ActiveScriptWrappableManager in blink uses a weak callback that updates a HeapVector and thus can trigger a write barrier during the atomic pause (which violates a DCHECK in the barrier). Bug: chromium:1056170 Change-Id: I6304b38da9751320836a5e2407e8c7d529367bad Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2700676Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Omer Katz <omerkatz@chromium.org> Cr-Commit-Position: refs/heads/master@{#72831}
-
Seth Brenith authored
ScopeInfo has a vestigial 'length' field from when it used to be a FixedArray. This change removes that field, which saves some memory. More specifically: - Make ScopeInfo inherit from HeapObject, not FixedArrayBase which supplied the 'length' field. - Privatize the FixedArray-style functions that provide access to ScopeInfo fields by index, and move them from scope-info-inl.h to scope-info.cc. Those functions are still used pretty heavily during initialization (ScopeInfo::Create, etc.), but at least we can avoid presenting them to the rest of the world. - Change FactoryBase::NewScopeInfo to allocate the updated object shape. It maintains the existing behavior of filling the newly-allocated object with undefined, even though that's not a valid ScopeInfo and further initialization is required. - Move part of AccessorAssembler::ScriptContextTableLookup into a new Torque macro, because it used to rely on casting ScopeInfo to FixedArrayBase. - In V8HeapExplorer::AddEntry, don't claim that ScopeInfo objects are arrays. I think it makes more sense to list them under "(system)" in the dev tools, like most other V8 internal types. Bug: v8:8952 Change-Id: I8278e3a90027d4409f0d268da0fe7080754c6b8c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2601880Reviewed-by: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Peter Marshall <petermarshall@chromium.org> Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> Reviewed-by: Mythri Alle <mythria@chromium.org> Commit-Queue: Seth Brenith <seth.brenith@microsoft.com> Cr-Commit-Position: refs/heads/master@{#72830}
-
Bill Budge authored
This reverts commit 2f8a7561. Reason for revert: Speculative revert, lots of segfaults on Arm: https://ci.chromium.org/p/v8/builders/ci/V8%20Arm%20-%20debug/17781 Original change's description: > [dict-proto] C++ implementation of SwissNameDictionary, pt. 3 > > This CL is part of a series that adds the C++ implementation of > SwissNameDictionary, a deterministic property backing store based on > Swiss Tables. > > This CL adds the initialization code, factory functions and a > canonical SwissNameDictionary plus all helpers required for that. > > Bug: v8:11388 > Change-Id: I6bb92740afefc7d05433cfa62023e6da5e8213c7 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2688058 > Reviewed-by: Igor Sheludko <ishell@chromium.org> > Reviewed-by: Marja Hölttä <marja@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Commit-Queue: Frank Emrich <emrich@google.com> > Cr-Commit-Position: refs/heads/master@{#72824} Bug: v8:11388 Change-Id: Ia5dae584b0fb452b12c5d64ee63ffa418c83f91b No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2698758 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Reviewed-by: Bill Budge <bbudge@chromium.org> Commit-Queue: Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#72829}
-
Milad Fa authored
Change-Id: Ie7fbaebda580787a6261f0bc56fc1bde370148e4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2698928Reviewed-by: Junliang Yan <junyan@redhat.com> Commit-Queue: Milad Fa <mfarazma@redhat.com> Cr-Commit-Position: refs/heads/master@{#72828}
-
Milad Fa authored
After https://crrev.com/c/2695401, CachRegs needed to be defined on PPC to overwrite the default value "0xff". The default value was causing the following failure on some tests: ``` # # Fatal error in ../../src/wasm/baseline/liftoff-register.h, line 160 # Debug check failed: 0 != kLiftoffAssemblerGpCacheRegs & reg.bit() (0 vs. 0). ``` Values are taken from `src/execution/ppc/frame-constants-ppc.h`. Change-Id: Idfc1d0fdc20d0b5aabc25e5b5809a93073a2dc3d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2698930Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Milad Fa <mfarazma@redhat.com> Cr-Commit-Position: refs/heads/master@{#72827}
-
Marja Hölttä authored
Bug: v8:11374 Change-Id: Ia7845f92a6b7f98e310596b182ebad7a4a097878 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2697354 Commit-Queue: Marja Hölttä <marja@chromium.org> Commit-Queue: Shu-yu Guo <syg@chromium.org> Reviewed-by: Shu-yu Guo <syg@chromium.org> Auto-Submit: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#72826}
-
Chris Mumford authored
This missing include was undetected because trace_perf.cc is only built if the checkout_google_benchmark custom gclient variable is defined. Bug: none Change-Id: If2016edad4df382f14903593ea18066f7759c4d5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2698387Reviewed-by: Marja Hölttä <marja@chromium.org> Commit-Queue: Chris Mumford <cmumford@google.com> Cr-Commit-Position: refs/heads/master@{#72825}
-
Frank Emrich authored
This CL is part of a series that adds the C++ implementation of SwissNameDictionary, a deterministic property backing store based on Swiss Tables. This CL adds the initialization code, factory functions and a canonical SwissNameDictionary plus all helpers required for that. Bug: v8:11388 Change-Id: I6bb92740afefc7d05433cfa62023e6da5e8213c7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2688058Reviewed-by: Igor Sheludko <ishell@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Frank Emrich <emrich@google.com> Cr-Commit-Position: refs/heads/master@{#72824}
-
Leszek Swirski authored
Allow filtering what functions compile with Sparkplug. Bug: v8:11420 Change-Id: Ib70c4405687ec527109f2adbf87b58a51aae9870 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2700671 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Auto-Submit: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#72823}
-
Leszek Swirski authored
Bug: v8:11429 Change-Id: If5d50cad91406d00e11ef8a6335dc492a4a38d57 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2698671 Auto-Submit: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#72822}
-
Seth Brenith authored
This is a reland of cf93071c Original change's description: > [interpreter] Short Star bytecode > > Design doc: > https://docs.google.com/document/d/1g_NExMT78II_KnIYNa9MvyPYIj23qAiFUEsyemY5KRk/edit > > This change adds 16 new interpreter opcodes, kStar0 through kStar15, so > that we can use a single byte to represent the common operation of > storing to a low-numbered register. This generally reduces the quantity > of bytecode generated on web sites by 8-9%. > > In order to not degrade speed, a couple of other changes are required: > > The existing lookahead logic to check for Star after certain other > bytecode handlers is updated to check for these new short Star codes > instead. Furthermore, that lookahead logic is updated to contain its own > copy of the dispatch jump rather than merging control flow with the > lookahead-failed case, to improve branch prediction. > > A bunch of constants use bytecode size in bytes as a proxy for the size > or complexity of a function, and are adjusted downward proportionally to > the decrease in generated bytecode size. > > Other small drive-by fix: update generate-bytecode-expectations to emit > \n instead of \r\n on Windows. > > Change-Id: I6307c2b0f5794a3a1088bb0fb94f6e1615441ed5 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2641180 > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> > Commit-Queue: Seth Brenith <seth.brenith@microsoft.com> > Cr-Commit-Position: refs/heads/master@{#72773} Change-Id: I1afb670c25694498b3989de615858f984a8c7f6f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2698057 Commit-Queue: Seth Brenith <seth.brenith@microsoft.com> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Mythri Alle <mythria@chromium.org> Cr-Commit-Position: refs/heads/master@{#72821}
-
Michael Lippautz authored
Previously, ephemerons without a base_object_payload have been filtered. base_object_payload is currently used to differentiate between GarbageCollected and just traceable objects, so we need to pass on the empty descriptor. Bug: chromium:1056170 Change-Id: I9cba53295779ec74dce2822b7bf83f477bc3241f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2700039Reviewed-by: Omer Katz <omerkatz@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#72820}
-
Leszek Swirski authored
Move the CompileWithBaseline interface to the Compiler class, as CompileBaseline, which will do the additional work of pre-compiling to bytecode, ensuring there is a feedback vector, and setting the code on the function closure. As a drive-by, fix v8_enable_trace_unoptimized to have a blank default value, so that v8_enable_trace_ignition/v8_enable_trace_baseline_exec can set it. Bug: v8:11420, v8:11429 Change-Id: If715161de71f7d9300f3fdcbb50cc678b1fcdfdf Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2697352Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Auto-Submit: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#72819}
-
Almothana Athamneh authored
Bug: v8:11344 Change-Id: I407e6a9afa0c813f9a41b5e7f0e6ff72f768ffea Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2699264Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Almothana Athamneh <almuthanna@chromium.org> Cr-Commit-Position: refs/heads/master@{#72818}
-
Thibaud Michaud authored
R=ahaas@chromium.org Bug: v8:8091 Change-Id: Ie3450c2a55d2fd272efc6c69632cf52a9aede597 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2699259 Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#72817}
-
Milad Fa authored
Port af3c5307 Original Commit Message: This threads through a JumpMode kJump/kReturn to JumpCodeObject so we can use a return instruction to jump instead by first pushing the jump target and then using a return instruction. R=verwaest@chromium.org, joransiu@ca.ibm.com, junyan@redhat.com, midawson@redhat.com BUG= LOG=N Change-Id: I354329238d00503a234556f25adccd920d26d320 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2700036Reviewed-by: Junliang Yan <junyan@redhat.com> Commit-Queue: Milad Fa <mfarazma@redhat.com> Cr-Commit-Position: refs/heads/master@{#72816}
-
Leszek Swirski authored
This prevents conflicts with e.g. --always-opt Fixed: v8:11462 Change-Id: Ib98378a1bf620f5706bf3eef06f997bd994b1e2c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2700035 Auto-Submit: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#72815}
-
Leszek Swirski authored
Fixed: chromium:1178841 Change-Id: Ic91f5930476695bfc1767eac9140b8120935c9e7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2700171 Auto-Submit: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#72814}
-
Benedikt Meurer authored
In case there's no exact match for the breakable location in SetBreakpoint(), don't try to find the syntactically closest break location, but rather find the first possible break location in bytecode order. In particular when trying to set a breakpoint in a line with for-of or an array destruction, there's no point in going for the syntactically closest to the beginning of the line, but rather go for the semantically first, as the intiution for setting a breakpoint on a line is that the debugger stops before it executes anything on said line. In the example ``` var [^a, ^b] = ^func(); ``` there are three possible break locations, and the correct one is the last one as the call to func will happen first at runtime. For generators that's currently broken because of the implicit initial yield, and same with modules (see crbug.com/901819), so we keep the previous behavior of finding the closest breakable location, and will fix that independently in a follow up CL. Bug: chromium:901819 Fixed: chromium:782461 Also-By: yangguo@chromium.org Change-Id: Ie724c5cb08e5f4edd90a450d99e001dff06bbe7a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2696586 Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#72813}
-
Clemens Backes authored
Pinned registers were not considered correctly when taking a volatile register. This CL refactors handling of the pinned registers list by combining the candidates list and the pinned list early. This avoid additional parameters on some functions and might save some redundant masking. As a side effect, it also fixes the DCHECK error on arm. R=ahaas@chromium.org Bug: chromium:1179025 Change-Id: Ib9193b209c5741ea97fd1d0dffeeb9e824639439 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2699254Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#72812}
-
Clemens Backes authored
We made two runtime calls: The first one allocated the exception object containing a FixedArray of exception values, the second call did the actual throw. Inbetween the code was filling the values array. This CL refactors this to only allocate the FixedArray initially, fill it, and then allocate the actual exception and throw it both from the second runtime function. This avoids a WasmGetOwnProperty call to find the values array. R=thibaudm@chromium.org Bug: v8:11453 Change-Id: I091aaa5c7bfb2b5579fc92c953adf582e6cc175a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2697359 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/master@{#72811}
-
Thibaud Michaud authored
'catch_all' and 'else' use distinct opcodes now. R=clemensb@chromium.org Bug: v8:8091 Change-Id: If07e46b9ea23068953db1765d10c7e3746d21d99 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2699258 Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#72810}
-
Santiago Aboy Solanes authored
During the string reverts a while back https://chromium-review.googlesource.com/c/v8/v8/+/2633547 I reverted some tests that were testing the code that was *not* reverted i.e. the internalization of external strings. Bug: v8:7790 Change-Id: I84964791cce712d753fd409cc3c641d9fbbb6550 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2699262Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#72809}
-
Leszek Swirski authored
Add baseline builtins for CreateAsyncFromSyncIterator and GetImportMetaObject, and call those instead of the runtime functions. Drive-by remove some TODOs in baseline-compiler.cc which are either no longer planned or don't need to be done any time soon. Bug: v8:11420, v8:11429 Change-Id: I15b4fe1f04316492045250b2c65ab6016f29b313 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2699261 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Auto-Submit: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#72808}
-