- 15 Oct, 2019 15 commits
-
-
Toon Verwaest authored
Remove the native context slot from contexts by making context maps native-context-specific. Now we require 2 loads to go from a context to the native context, but we have 1 field fewer to store when creating contexts. Change-Id: I3c0d7c50c94060c4129db684f46a567de6f30e8d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1859629 Commit-Queue: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Reviewed-by: Peter Marshall <petermarshall@chromium.org> Reviewed-by: Maya Lekova <mslekova@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#64296}
-
Michael Achenbach authored
Change-Id: I3520bce4cc3ac2db55891b1ebe52782566d98f90 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1863189Reviewed-by: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#64295}
-
Seth Brenith authored
The tests were already passing because they happened to use objects allocated in the lower half of the heap reservation, but this small change should make behavior more consistent. Change-Id: Ib6be3123d347234f4771c213f2209bfe6e19c569 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1860332Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: Seth Brenith <seth.brenith@microsoft.com> Cr-Commit-Position: refs/heads/master@{#64294}
-
Clemens Backes authored
This reverts commit 1c56974f. Reason for revert: Causes several bots to timeout, e.g. https://ci.chromium.org/p/v8/builders/ci/V8%20Linux%20-%20debug/27945 Original change's description: > Unconditionally enable snapshot builds and remove 'v8_use_snapshot' > > This CL removes 'v8_use_snapshot' and the usages of the implied > V8_USE_SNAPSHOT define. One test runner unittest was updated to use the > "asan" variant instead of the now obsolete "no_snap" variant. > > Related chromium CL: https://crrev.com/c/1796325. > > Bug: v8:8531 > Change-Id: I5da7c9f8e9110fe7bc0f4e4f821bcb7f7d98f927 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1784282 > Commit-Queue: Simon Zünd <szuend@chromium.org> > Reviewed-by: Tamer Tas <tmrts@chromium.org> > Reviewed-by: Michael Achenbach <machenbach@chromium.org> > Reviewed-by: Nico Weber <thakis@chromium.org> > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > Cr-Commit-Position: refs/heads/master@{#64290} TBR=thakis@chromium.org,machenbach@chromium.org,mstarzinger@chromium.org,jgruber@chromium.org,tmrts@chromium.org,szuend@chromium.org Change-Id: I4024d818877e534b9f7908a2d14f33dca35b5924 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:8531 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1862572Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#64293}
-
Clemens Backes authored
We currently generate code for both separately, resulting in five instructions (three for the i32_eqz, two for the br_if): test rax,rax seteq dl movzxb rdx,rdx test rdx,rdx jz <label> After this CL, we just generate two instructions: test rax, rax jnz <label> This is implemented by a look-ahead in the {kExprI32Eqz} handler. If the opcode is followed by {kExprBrIf}, no code is emitted. Instead, a flag in the {LiftoffCompiler} is set to signal to the {kExprBrIf} handler that the previous instruction was not processed yet. Note that this mechanism is designed to be reusable for more similar improvements. For the single instance implemented in this CL, it is not needed. Plus some drive-by cleanup. R=jkummerow@chromium.org Bug: v8:9831 Change-Id: I47495fe763b7db7cef41aa207c88a2f1b74bf1a9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1862557 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#64292}
-
Ulan Degenbaev authored
AsmJs does not support SharedArrayBuffers. This CL adds a check in instantiation and reports a proper error. Bug: chromium:1013920 Change-Id: Id7159f23ddcc2bde139c4c97bdb67ef3dc7f0e22 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1862563Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#64291}
-
Simon Zünd authored
This CL removes 'v8_use_snapshot' and the usages of the implied V8_USE_SNAPSHOT define. One test runner unittest was updated to use the "asan" variant instead of the now obsolete "no_snap" variant. Related chromium CL: https://crrev.com/c/1796325. Bug: v8:8531 Change-Id: I5da7c9f8e9110fe7bc0f4e4f821bcb7f7d98f927 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1784282 Commit-Queue: Simon Zünd <szuend@chromium.org> Reviewed-by: Tamer Tas <tmrts@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Reviewed-by: Nico Weber <thakis@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#64290}
-
Igor Sheludko authored
... which broke with 32-bit Smis. Tbr: verwaest@chromium.org No-Tree-Checks: true Bug: v8:9767 Change-Id: I459a5d807d87012ab72138f46b49362f16b6baa1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1862562Reviewed-by: Igor Sheludko <ishell@chromium.org> Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#64289}
-
Igor Sheludko authored
We are not shipping ptr-compr in M79 on x64 because chromium:1009439 blocks 31-bit Smis on 64-bit architectures, so these's no point in disabling double fields unboxing. This CL will be reverted after the M79 branch point. Bug: v8:9799, chromium:1009439 Change-Id: I28d0013d3ab06ce41d5028ba4f66c9b249de52d7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1862556Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#64288}
-
Leszek Swirski authored
Fix uses of cached descriptors arrays used in loops that map-check to ensure validity of the cache to also reload the descriptor in case there are missed in-place representation updates. As a drive-by, introduce inner HandleScopes for these loops. Bug: chromium:1012301 Change-Id: I17273caf629a181b846d3c09777b5c08fd8cbb0e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1859621Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#64287}
-
Igor Sheludko authored
The reason is to unblock M79 blocked by chromium:1009439 while full solution is not ready yet. This CL will be reverted after the M79 branch point. Bug: v8:9767, chromium:1009439 Change-Id: I5302d86fe953ecd94d9a4bba0d29c807b7b9d703 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1862554Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#64286}
-
Michael Starzinger authored
This replaces all left-over uses of {WasmGraphBuilder::Buffer} with proper alternatives (e.g. using {base::SmallVector} instead). R=clemensb@chromium.org Change-Id: I2607ce7e2638a1bb35daccbb5b38382d5b62a430 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1859626Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#64285}
-
v8-ci-autoroll-builder authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/4250046..c1d5d48 Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/1550399..0b36537 Rolling v8/third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools/+log/5abb9b7..c651221 TBR=machenbach@chromium.org,tmrts@chromium.org Change-Id: Ib22d731a92b9e4bec2c4cf22476f3c4e01a2c3a3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1860559Reviewed-by: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#64284}
-
Michael Lippautz authored
Use v8::Data as basetype for managed objects that can integrate with v8::EmbedderHeapTracer. Bug: v8:9841 Change-Id: Id3e06701207a23870cea89e1d7d334c48fcd3006 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1856002Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#64283}
-
Clemens Backes authored
WebAssembly locals are specified to be zero on function entry. Liftoff implements this by just storing the constant 0 in the virtual stack for integer types, and using one floating point register initialized to zero for all floating point types. For big counts of locals this leads to problems (manifesting as huge blocks of code being generated) once we hit a merge point: All those constants (for int) and all duplicate register uses (for floats) need to be fixed up, by using separate registers for the locals or spilling to the stack if no more registers are available. All this spilling generates a lot of code, and can even happen multiple times within a function. This CL optimizes for such cases by spilling all locals to the stack initially. All merges within the function body get much smaller then. The spilled values rarely have to be loaded anyway, because the initial zero value is usually overwritten before the first use. To optimize the code size for initializing big numbers of locals on the stack, this CL also introduces the platform-specific {FillStackSlotsWithZero} method which uses a loop for bigger local counts. This often saves dozens of kilobytes for very big functions, and shows an overall code size reduction of 4-5 percent for big modules. R=jkummerow@chromium.org Bug: v8:9830 Change-Id: I23fa4145847827420f09e043a11e0e7b606e94cc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1856004 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#64282}
-
- 14 Oct, 2019 16 commits
-
-
Deepti Gandluri authored
Bug: v8:9854 Change-Id: I8450e6456321f3be2badeccac61414e005df2c65 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1860327 Commit-Queue: Deepti Gandluri <gdeepti@chromium.org> Reviewed-by: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#64281}
-
Ng Zhi An authored
The macros will use AVX variants when available. Bug: v8:9561 Change-Id: I06872a08184983adc8018ffdf03916feac02016f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1857422Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#64280}
-
Z Nguyen-Huu authored
Bug: v8:8976 Change-Id: I7b215adda82f9982d38e35ab5c80c86eeca81487 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1856921 Commit-Queue: Z Nguyen-Huu <duongn@microsoft.com> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#64279}
-
Ng Zhi An authored
Bug: v8:8460 Change-Id: I2ca4b4aa5d7755f09252bdec6885013c84ea469c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1850612Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#64278}
-
Michael Starzinger authored
This switches the {WasmGraphBuilder} to use {SmallVector} for passing argument and return values. It deprecates {WasmGraphBuilder::Buffer}, which is a dangerous construct as it makes it easy to accidentally use the single buffer for two vectors at the same time. This also removes the by now unused {WasmGraphBuilder::Realloc} method. R=clemensb@chromium.org Change-Id: I6bd9be437a99c23bb403a046a75c148ac4a14451 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1859619Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#64277}
-
Michael Starzinger authored
This switches the {WasmGraphBuilder::GetExceptionValues} to use a proper vector instead of the deprecated {Buffer} method. This also addresses a TODO about missing landing pads for the above affected method. R=clemensb@chromium.org Change-Id: I33ba7d712a00f2a284ec159a501bcd90e02a3a51 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1859620 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#64276}
-
Milad Farazmand authored
older gcc compilers (tested on PPC gcc 6) may throw the following error if a non-copyable element is added to std::map: src/torque/instance-type-generator.cc:192:76: required from here /usr/include/c++/6/ext/new_allocator.h:120:4: error: use of deleted function 'constexpr std::pair<_T1, _T2>::pair(const std::pair<_T1, _T2>&) [with _T1 = v8::internal::torque::{anonymous}::InstanceTypeTree* const; _T2 = std::unique_ptr<v8::internal::torque::{anonymous}::InstanceTypeTree>]' explicitly constructing the std::pair will fix the compilation error. Bug: v8:9850 Change-Id: I1e69e804be8bb9c16d013a90b532d670a97ed055 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1857552 Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#64275}
-
Tobias Tebbi authored
Bug: v8:7793 Change-Id: Id2e03e7d42aeab155572fa9cc3093dcff16f5668 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1859622Reviewed-by: Maya Lekova <mslekova@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#64274}
-
Clemens Backes authored
It was marked V8_DEPRECATE_SOON in https://crrev.com/c/1261936 (part of M-71). R=ahaas@chromium.org, ulan@chromium.org Bug: v8:9810 Change-Id: I64a7937b518dbf2a75361bbbecd514618922d543 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1849523Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#64273}
-
Thibaud Michaud authored
R=ahaas@chromium.org Change-Id: Iea0fe775eb8c101200fe41e5e188bbdc85c03df7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1856000Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/master@{#64272}
-
Michael Starzinger authored
With exception handling enabled new call paths open up, which will perform environment merging while a "call" or "call_indirect" is currently being emitted. This will lead to double-use of the buffer returned by calls to {Buffer} or {Realloc}. In general we should transition away from this optimization to safer constructs such as {base::SmallVector} to avoid such bugs. R=clemensb@chromium.org TEST=mjsunit/regress/regress-9832 BUG=v8:9832 Change-Id: I4c862ac1bc7dc34ad62279c82f6414153e8cbddb Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1856006 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#64271}
-
Tobias Tebbi authored
The assert code gets put into an unreachable block in release builds to make sure it's type-checked and torque knows the code it contains is used, but still it doesn't emit actual machine code. Bug: v8:7793 Change-Id: I580fdd7ac059e0dbe85283fd35c3038634a7228e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1857226Reviewed-by: Maya Lekova <mslekova@chromium.org> Commit-Queue: Maya Lekova <mslekova@chromium.org> Auto-Submit: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#64270}
-
Maya Lekova authored
This analysis shows the number of used/unused refs as well as their by-type distribution and outputs the broker zone memory. It introduces a new flag --trace-heap-broker-memory. Doc: https://docs.google.com/document/d/1oUMxlC2YbficEVkQ1X8TK9WNCWRmLqzDRFy4z3cJsII/edit#heading=h.3sde9siqk2yw Bug: v8:9720 Change-Id: I4fafc225134d0548e976ce00d67bd5cabeda60c3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1849526 Commit-Queue: Maya Lekova <mslekova@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#64269}
-
Michael Achenbach authored
TBR=gsathya@chromium.org NOTRY=true Change-Id: I6ddb04fe4aec3596bfc70170310745924909de52 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1857222Reviewed-by: Maya Lekova <mslekova@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#64268}
-
Michael Achenbach authored
NOTRY=true TBR=gdeepti@chromium.org Bug: v8:9845 Change-Id: I973521ae0d1fc3706c23f664e47962ac29e0196c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1857223Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#64267}
-
v8-ci-autoroll-builder authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/34b1290..4250046 TBR=machenbach@chromium.org,tmrts@chromium.org Change-Id: I774107b9e6408832b63d9171e26a3dfbf6231f79 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1857432Reviewed-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@{#64266}
-
- 13 Oct, 2019 1 commit
-
-
v8-ci-autoroll-builder authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/f48946c..34b1290 Rolling v8/third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools/+log/2cbae8a..5abb9b7 TBR=machenbach@chromium.org,tmrts@chromium.org Change-Id: Ia24eb083291276b5f4e8a2535bb16e21204ee05e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1857430Reviewed-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@{#64265}
-
- 12 Oct, 2019 4 commits
-
-
Michael Achenbach authored
TBR=santa Change-Id: I32f9eaa4006c235064d077de47cf7ae48f881502 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1857220Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#64264}
-
David Carlier authored
This patch stores the result of sysconf() in a long integer and checks the result of Free(). Change-Id: If77e46a2f188e6bc36ef2e98eac36bf7a7d67dff Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1855942Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#64263}
-
v8-ci-autoroll-builder authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/b68f5d6..f48946c Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/788d15f..1550399 Rolling v8/third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools/+log/8e57b4b..2cbae8a TBR=machenbach@chromium.org,tmrts@chromium.org Change-Id: I6f7895a5b3de6384eb0f6156b53f3945aa0667f7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1857426Reviewed-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@{#64262}
-
Zhang, Shiyu authored
... for the case we haven't seen any elements on the entire prototype chain. Contributed by tao.pan@intel.com Change-Id: Ied7d1a918b545e71d94ab1521bf0d233ea15cfce Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1848960Reviewed-by: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Shiyu Zhang <shiyu.zhang@intel.com> Cr-Commit-Position: refs/heads/master@{#64261}
-
- 11 Oct, 2019 4 commits
-
-
Deepti Gandluri authored
Bug: v8:9845 Change-Id: I638f9bc41023cd4faef46dcafe646c13f3e14573 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1857208Reviewed-by: Frank Tang <ftang@chromium.org> Commit-Queue: Frank Tang <ftang@chromium.org> Cr-Commit-Position: refs/heads/master@{#64260}
-
Ng Zhi An authored
This requires a change to instruction selector to UseUnique so that it does not shadow the temporary register. Bug: v8:9810 Change-Id: Iaceadbc39f0c51a92c2a73c4b1097d49a7397876 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1850614Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#64259}
-
Seth Brenith authored
Design doc: https://docs.google.com/document/d/1ZU6rCvF2YHBGMLujWqqaxlPsjFfjKDE9C3-EugfdlAE/edit Changes from the design doc: - Changed to use 'class' declarations rather than 'type' declarations for things that need instance types but whose layout is not known to Torque. These declarations end with a semicolon rather than having a full set of methods and fields surrounded by {}. If the class's name should not be treated as a class name in generated output (because it's actually a template, or doesn't exist at all), we use the standard 'generates' clause to declare the most appropriate C++ class. - Removed @instanceTypeName. - @highestInstanceType became @highestInstanceTypeWithinParentClassRange to indicate a semantic change: it no longer denotes the highest instance type globally, but only within the range of values for its immediate parent class. This lets us use it for Oddball, which is expected to be the highest primitive type. - Added new abstract classes JSCustomElementsObject and JSSpecialObject to help with some range checks. - Added @lowestInstanceTypeWithinParentClassRange so we can move the new classes JSCustomElementsObject and JSSpecialObject to the beginning of the JSObject range. This seems like the least-brittle way to establish ranges that also include JSProxy (and these ranges are verified with static assertions in instance-type.h). - Renamed @instanceTypeValue to @apiExposedInstanceTypeValue. - Renamed @instanceTypeFlags to @reserveBitsInInstanceType. This change introduces the new annotations and adds the ability for Torque to assign instance types that satisfy those annotations. Torque now emits two new macros: - TORQUE_ASSIGNED_INSTANCE_TYPES, which is used to define the InstanceType enumeration - TORQUE_ASSIGNED_INSTANCE_TYPE_LIST, which replaces the non-String parts of INSTANCE_TYPE_LIST The design document mentions a couple of other macro lists that could easily be replaced, but I'd like to defer those to a subsequent checkin because this one is already pretty large. Bug: v8:7793 Change-Id: Ie71d93a9d5b610e62be0ffa3bb36180c3357a6e8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1757094 Commit-Queue: Seth Brenith <seth.brenith@microsoft.com> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#64258}
-
Johannes Henkel authored
New rev: a14dad30f0e5b0fc05911856d5a20b1ffe89fd9b Change-Id: I92a70bb8e5fef13e7422d609d3899ea1092def8c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1847785 Auto-Submit: Johannes Henkel <johannes@chromium.org> Reviewed-by: Alexei Filippov <alph@chromium.org> Commit-Queue: Johannes Henkel <johannes@chromium.org> Cr-Commit-Position: refs/heads/master@{#64257}
-