- 19 Feb, 2021 4 commits
-
-
Liu Yu authored
Implement i8x16.popcnt, double precision conversions, v64x2.alltrue and i64x2.ne. Port: 00babf07 Port: 66964c51 Port: 1b81ffb1 Change-Id: I26f62f31fd362b06f7bcbf1988a8e2ff12d12504 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2706354 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@{#72854}
-
LiuYu authored
Port: 257c303f Bug: v8:11347,v8:11348,chromium:1174498 Change-Id: I1198ff37045e895082014918ec8d9f339893c1a4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2706307 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@{#72853}
-
v8-ci-autoroll-builder authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/99c7b26..d9000c9 Rolling v8/third_party/aemu-linux-x64: X81JiseHcDpE_0A4yjc6A232-BwI6vJSzYlXeAnpNwcC..SesU5Vh9_5Zm4yE0Qtuyv2VQ8UhCuhRMW3IkFgT7n0sC Rolling v8/third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools/+log/5e37f6d..f362f6f Rolling v8/tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang/+log/9990265..6cf138c Rolling v8/tools/luci-go: git_revision:77944aa535e42e29faadf6cfa81aee252807d468..git_revision:fd10124659e991321df2f8a5d3749687b54ceb0a Rolling v8/tools/luci-go: git_revision:77944aa535e42e29faadf6cfa81aee252807d468..git_revision:fd10124659e991321df2f8a5d3749687b54ceb0a Rolling v8/tools/luci-go: git_revision:77944aa535e42e29faadf6cfa81aee252807d468..git_revision:fd10124659e991321df2f8a5d3749687b54ceb0a TBR=v8-waterfall-sheriff@grotations.appspotmail.com Change-Id: Id952af26eb7019ac2603e8f8ad94e93e1fe47300 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2706521Reviewed-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@{#72852}
-
Ng Zhi An authored
We can use UseScratchRegisterScope instead of requiring a TempSimd128Register in the instruction-selector. This reduces register pressure a little bit (when combined with unique register constraints). Drive-by cleanup of some variable names in code-generator, s/tmp2/tmp/ when there is only 1 tmp. Bug: v8:11384 Change-Id: I00a365624cbabeaeeaf78d1d08f0eb284c7e44ac Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2705523Reviewed-by: Bill Budge <bbudge@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#72851}
-
- 18 Feb, 2021 18 commits
-
-
Michael Lippautz authored
The atomic pause would not report any marked bytes which in turn would mean that the used bytes counter would stay at 0 for testing GCs that always use atomic marking. Bug: chromium:1056170 Change-Id: Ie35d9b3bc88766c4ef56271f05d944f4835ba431 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2704662 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Omer Katz <omerkatz@chromium.org> Cr-Commit-Position: refs/heads/master@{#72850}
-
Seth Brenith authored
My recent change https://crrev.com/c/v8/v8/+/2698057 changed the size of bytecode for most functions, and attempted to update other heuristic values to match. However, it caused V8 to be slightly too eager to perform on-stack replacement in JetStream 2's gaussian-blur test case, so that the function got compiled separately for each of two nested loops rather than just once for the outer loop. This is the smallest change that restores the previous behavior in that benchmark. Bug: chromium:1179571 Change-Id: I03e98d6bff7355b775c1fdaf495e7444e7c6f095 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2704882Reviewed-by: Mythri Alle <mythria@chromium.org> Commit-Queue: Seth Brenith <seth.brenith@microsoft.com> Cr-Commit-Position: refs/heads/master@{#72849}
-
Austin Eng authored
- Remove unused type inference paths which will be replaced with more explicit structs. - Removes the tagged pointer from CTypeInfo since the embedder will perform the type check for API objects. Bug: chromium:1052746 Change-Id: I47a5f5ae35b06845b01b68cb089c67f76a7fb05e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2686685 Commit-Queue: Austin Eng <enga@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#72848}
-
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 18 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}
-