This reverts commit 7d955faa76.
Reason for revert: Bad change, modified wrong test file https://ci.chromium.org/p/v8/builders/ci/V8%20Linux/36416
Original change's description:
> [wasm-simd][x64][ia32] Do not overwrite input register
>
> We are ovewriting input register (contains the shift) when we are
> masking it, instead, move to a temporary,then mask it.
>
> Bug: chromium:1065599
> Change-Id: Iab72b94581239447e444746681387350b576e24a
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2125941
> Commit-Queue: Zhi An Ng <zhin@chromium.org>
> Reviewed-by: Deepti Gandluri <gdeepti@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#66997}
TBR=gdeepti@chromium.org,zhin@chromium.org
Change-Id: I50c57906d6eb49758584b477c971179ea3c6e5d3
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: chromium:1065599
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2134655
Reviewed-by: Zhi An Ng <zhin@chromium.org>
Commit-Queue: Zhi An Ng <zhin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#67000}
This reverts commit df20428886.
Reason for revert: Broke noavx https://ci.chromium.org/p/v8/builders/ci/V8%20Linux64%20-%20debug/31698
Original change's description:
> [wasm-simd][x64] Cleanup unnecessary CpuFeatureScope
>
> There are a couple more left in some i64x2 ops, but those are not in the
> proposal, so I've left them as it is.
>
> Bug: v8:9561
> Change-Id: I3f6a4113c8054229eb6532d83ff16174a3208418
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2128849
> Reviewed-by: Deepti Gandluri <gdeepti@chromium.org>
> Commit-Queue: Zhi An Ng <zhin@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#66990}
TBR=gdeepti@chromium.org,zhin@chromium.org
Change-Id: Ib42dbf70ab8ee97ed1d2f809ea305c22213ae960
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: v8:9561
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2134653
Reviewed-by: Zhi An Ng <zhin@chromium.org>
Commit-Queue: Zhi An Ng <zhin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#66999}
We are ovewriting input register (contains the shift) when we are
masking it, instead, move to a temporary,then mask it.
Bug: chromium:1065599
Change-Id: Iab72b94581239447e444746681387350b576e24a
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2125941
Commit-Queue: Zhi An Ng <zhin@chromium.org>
Reviewed-by: Deepti Gandluri <gdeepti@chromium.org>
Cr-Commit-Position: refs/heads/master@{#66997}
A WeakCell's unregister_token and holdings are passed in by the user,
and so should be JSAny. A FinalizationRegistry's callback function must
always be Callable.
Bug: v8:8179
Change-Id: I8e447ce4bfeba712594fc9a7c9923ce718adcd62
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2129273
Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
Commit-Queue: Shu-yu Guo <syg@chromium.org>
Cr-Commit-Position: refs/heads/master@{#66996}
Effect-control-linearizer will update a basic block to connect it
directly to the end node if it has an Unreachable node. Usually the
block would already have been connected directly to end (via a Throw
node) already, however in some cases it can be connected indirectly
(via a branch, where both end in a throw node).
If this happens, and the Effect-control-linearizer is maintaining the
schedule (e.g., for TurboProp), it will cause the end block to have
unreachable predecessor blocks, which can cause issues with the
register allocator.
To fix this, have the BasicBlockUpdater remove all successor blocks
from the schedule, when they become Unreachable. Also add some tests
to cover this in effect-control-linearizer-unittests.
BUG=v8:10332,v8:9684
Change-Id: Ibce140e6d1f61751a86247e6f8c36075723a1e55
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2120537
Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#66994}
If there is still Liftoff code installed on a function, we cannot reuse
it when tiering down, since we don't know if it was compiled with
debugging capabilities. This made the "debug-step-into-wasm" test flake.
R=thibaudm@chromium.org
Bug: v8:10368
Change-Id: I3672940015c85ec10ead2e33e7792410b47589d4
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2135732
Reviewed-by: Thibaud Michaud <thibaudm@chromium.org>
Commit-Queue: Clemens Backes <clemensb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#66993}
Instead of two copies of the lookup code in frames.cc and wasm-debug.cc,
put one lookup method on the WasmCode. This is where it belongs really,
since the WasmCode is the main input to the function (besides the
offset).
Also refactor how source positions are computed in WasmCompiledFrame.
Avoid going through the summary, which is unneccessarily complex. This
also adds another {byte_offset} accessor which can be used for
debugging.
Bug: v8:10235
Change-Id: I5c545ee302754b86009f09bedc5ff6e39ba664f6
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2135726
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Commit-Queue: Clemens Backes <clemensb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#66991}
There are a couple more left in some i64x2 ops, but those are not in the
proposal, so I've left them as it is.
Bug: v8:9561
Change-Id: I3f6a4113c8054229eb6532d83ff16174a3208418
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2128849
Reviewed-by: Deepti Gandluri <gdeepti@chromium.org>
Commit-Queue: Zhi An Ng <zhin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#66990}
Implement i8x16.bitmask, i16x8.bitmask, i32x4.bitmask on ia32.
Drive by additions of disasm and disasm tests to some instructions.
Bug: v8:10308
Change-Id: I3725ed6959ae55f96ee7950130776a4f08e177c9
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2127314
Reviewed-by: Deepti Gandluri <gdeepti@chromium.org>
Commit-Queue: Zhi An Ng <zhin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#66989}
The new flag controls foreground incremental marking tasks and does not
affect background concurent marking tasks.
Change-Id: I46bda6b10c76b7a7f2ed2e123afe85bc04935624
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2135733
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#66988}
The code of kArmWord32AtomicPairStore is not self-explanatory,
especially why {ldrexd} is used. This CL adds some documentation to
make it more understandable.
Additionally this CL changes the code generation to use {cmp} instead
of {teq}. It's the preferred (idiomatic) sequence on Arm.
R=v8-arm-ports@googlegroups.com
Bug: v8:10155
Change-Id: I32946a333c352250045dbd8872862529a63c8772
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2129638
Reviewed-by: Jacob Bramley <jacob.bramley@arm.com>
Reviewed-by: Bill Budge <bbudge@chromium.org>
Commit-Queue: Andreas Haas <ahaas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#66987}
This commit adds a few fixes neccessary for integrating the
fast C API into Blink:
- added default constructor for CFunction
- removed a bogus template specialization allowing void* params
- extended the public Isolate class
Bug: chromium:1052746
Change-Id: I4f2ba84299920e2cc9d66ec1ed59302313db6c0b
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2120587
Commit-Queue: Maya Lekova <mslekova@chromium.org>
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Reviewed-by: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#66986}
Adding code can happen in parallel (it includes copying the code to the
code region and relocation it). Publishing happens under one lock per
native module though. We eventually want to avoid blocking on this lock
for too long. This CL prepares that by splitting the actions of adding
and publishing code.
R=ahaas@chromium.org
Bug: v8:10330, v8:10387
Change-Id: Iddbdadfe32e691bbf5e7b387ea947579bc3376f3
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2134372
Commit-Queue: Clemens Backes <clemensb@chromium.org>
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#66979}
For easier debugging of Liftoff code generation issues, add code
comments or out-of-line code.
The name is generated from the {RuntimeStubId}. The respective name
accessor is currently defined on the {NativeModule}, this CL makes it a
top-level function so we can reuse it from Liftoff.
R=thibaudm@chromium.org
Bug: v8:10235
Change-Id: I7b99779217b9c052e34ad132eb34859b20548092
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2134307
Commit-Queue: Clemens Backes <clemensb@chromium.org>
Reviewed-by: Thibaud Michaud <thibaudm@chromium.org>
Cr-Commit-Position: refs/heads/master@{#66978}
This reverts commit 10360127e8.
Reason for revert: This fix only had moderate impact and the
underlying CPU bug has now been addressed.
Original change's description:
> Speculative fix to crashes from a CPU bug
>
> For the last few months Chrome has been seeing many "impossible" crashes
> on Intel Gemini Lake, family 6 model 122 stepping 1 CPUs. These crashes
> only happen with 64-bit Chrome and only happen in the prologue of two
> functions. The crashes come and go across different Chrome versions.
> Analysis of most of the crashes shows that the address of the crashing
> instruction follows some patterns:
>
> When crashing in GetFieldIndex() the last byte of the address is always
> 1c, 5c, 9c, or dc.
>
> When crashing in UpdateCaches (fewer unique samples) the last byte of
> the address is always 5d or 9d.
>
> The address of the function is 0xc or 0xd bytes earlier so the crashing
> functions always start with an address that ends in 10, 50, 90, or d0.
>
> Those addresses are for the crashes on a load of the __security_cookie.
> The crashes also occasionally happen on the two instructions that follow
> the __security_cookie load in which case the crashing instruction's
> address has been seen to end with 23 or a3. This corresponds to a
> function start address of 10 or 90.
>
> Since the crash involves reading incorrect instruction bytes when
> crossing a 16-byte boundary and since the crash appears to only happen
> with particular 16-byte alignments it seems reasonable to force the
> function's alignments to a multiple of 32 to see if this reliably
> avoids the crashes. This change uses the gcc/clang __attribute__
> directive to force 32-byte alignment. I have tested this change enough to
> verify that it triggers the desired alignment (with up to 31 "int 3"
> instructions added for padding) but since I have never reproduced this
> crash I have no way of testing its efficacy.
>
> Bug: chromium:968683, chromium:964273
> Change-Id: Ia6e1c6d1e044b84d274817374b25523303e78b51
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1803775
> Reviewed-by: Toon Verwaest <verwaest@chromium.org>
> Commit-Queue: Bruce Dawson <brucedawson@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#63804}
TBR=brucedawson@chromium.org,verwaest@chromium.org
# Not skipping CQ checks because original CL landed > 1 day ago.
Bug: chromium:968683, chromium:964273
Change-Id: I150ecfebeff95e8f63dbba74d78491867dc17736
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2134728
Commit-Queue: Toon Verwaest <verwaest@chromium.org>
Auto-Submit: Bruce Dawson <brucedawson@chromium.org>
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Cr-Commit-Position: refs/heads/master@{#66977}
We cannot rely on the clang compiler to generate the trampoline entry
and the right mangling because `__attribute__((naked))` does not
prevent clang from generating TSAN function entry stub
(`__tsan_func_entry`). Even with `__attribute__((no_sanitize_thread)`
annotation clang generates the entry stub.
Upstream bug: https://bugs.llvm.org/show_bug.cgi?id=45400
Bug: chromium:1056170
Change-Id: I7a2063d7d205ee071e6a41ce4d9cb2d8d6423987
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2132797
Reviewed-by: Omer Katz <omerkatz@chromium.org>
Reviewed-by: Anton Bikineev <bikineev@chromium.org>
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#66976}
Add support for ia32 Windows using clang. Change the callback
function from a member function to a free function. This the
compiler generating thiscall calling convention for the member
function which allows for keeping the asm trampoline uniform.
Bug: chromium:1056170
Change-Id: Ic8fcac27a628a0de026d8fe7d2e376c8f58a1737
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2134136
Reviewed-by: Anton Bikineev <bikineev@chromium.org>
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#66975}
Remove other variants for the same functionality such as IsCallable(),
TaggedIsCallable(), and !TaggedIsSmi() && IsCallable().
Change-Id: I33bcdf7699c1adf2330b3c11f482f7bbfcd927b3
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2107515
Commit-Queue: Timothy Gu <timothygu@chromium.org>
Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#66973}
i64x2 mul is more tricky, the algorithm is slightly modified:
- for arm64, we can only use 2 temporaries
- for arm, we only have 1 temporary, so we get another register
manually, if we need it (modify lhs/rhs if they are not used)
Bug: v8:9909
Change-Id: I0398e2c95348a8b49ca9773a78ccfb7af73e2eef
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2128606
Commit-Queue: Zhi An Ng <zhin@chromium.org>
Reviewed-by: Clemens Backes <clemensb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#66971}
f6b2ccdd..ae8694b4
ae8694b Copy "invalid options" test from RelativeTimeFormat to NumberFormat/DateTimeFormat by André Bargull · 2 days ago
299cd74 Promise.any: fix "invoke-then.js" test by Rick Waldron · 2 days ago
9ccd3a7 Test revoked callable [[ProxyTarget]] by Alexey Shvayka · 2 days ago
91b867b Fix non-callable [[ProxyTarget]] test by Alexey Shvayka · 2 days ago
e8e3aaa Test revoked [[ProxyHandler]] by Alexey Shvayka · 2 days ago
8b610fb Test revoked [[ProxyTarget]] by Alexey Shvayka · 2 days ago
432adbb Adding case where 'static' is used as a field name by Caio Lima · 4 days ago
4bf836c Merge pull request #2533 from tc39/promise-any by Leo Balter · 5 days ago
22be03d Promise.any: lint fixes by Rick Waldron · 5 days ago
d53f45d Promise.any: remove unnecessary static resolve def by Rick Waldron · 7 days ago
499b748 Promise.any: review fixes, 2 by Rick Waldron · 7 days ago
b21b0c1 Promise.any: additional "resolve from rejection" tests by Rick Waldron · 7 days ago
a05fb94 Promise.any: feature flags, 2 by Rick Waldron · 7 days ago
7fbce5a Promise.any: simplify promise creation by Rick Waldron · 7 days ago
5c68b60 Promise.any: cleanup in @@species tests by Rick Waldron · 7 days ago
d9265df Promise.any: additional then + resolve tests by Rick Waldron · 7 days ago
1c74850 Promise.any: feature flags by Rick Waldron · 7 days ago
5d3eafc Promise.any: review fixes by Rick Waldron · 7 days ago
f70e3e3 Features: remove duplicate "Promise.any" by Rick Waldron · 7 days ago
6edaba3 Promise.any: updates, corrections and new tests. by Rick Waldron · 7 days ago
e0f0c78 Promise.any: empty iterable rejects with AggregateError by Rick Waldron · 7 days ago
272e9ab Promise.any: make async operation test actually async by Rick Waldron · 7 days ago
47b3858 Promise.any: expected rejection shouldn't end with error message. by Rick Waldron · 7 days ago
55b22d8 Promise.any: string iterable should not be rejected (adds error message for clarity) by Rick Waldron · 7 days ago
e0abeaa Promise.any: convert sync test to async test to ensure run to completion by Rick Waldron · 7 days ago
860e02a add iter-assigned tests by chicoxyzzy · 7 days ago
9567abd Add iter-arg tests by chicoxyzzy · 7 days ago
094ddc7 add species-get-error test by chicoxyzzy · 7 days ago
e3d48f2 add Invocation of the instance's `then` method test by chicoxyzzy · 7 days ago
afe3f0b add reject-immed test by chicoxyzzy · 7 days ago
adcd162 add is callable test by chicoxyzzy · 7 days ago
88d058b Add returns promise test by chicoxyzzy · 7 days ago
be1bf63 Add Promise and Promise.any properties tests by chicoxyzzy · 7 days ago
23d7f0b add Invocation of the constructor's `resolve` method test by chicoxyzzy · 7 days ago
f0fd4e0 update features.txt by chicoxyzzy · 7 days ago
aca1084 Add context tests by chicoxyzzy · 7 days ago
715964b Add Capability Executor tests by chicoxyzzy · 7 days ago
96cf757 Harness: properly format negative zero by Alexey Shvayka · 7 days ago
1e63ce0 Improve String.prototype.@@replace poisoned stdlib test by Alexey Shvayka · 7 days ago
9b71a7c Fix inconsistent indentation in YAML by Alexey Shvayka · 7 days ago
ad046ce Avoid using Array.isArray directly by Alexey Shvayka · 7 days ago
8fe71e1 Drop JSON.stringify stack overflow tests by Alexey Shvayka · 7 days ago
dfc7ecc AggregateError: If NewTarget is undefined, let newTarget be the active function object (#2537) by Rick Waldron · 9 days ago
db6f630 Adding test coverage for 'OptionalChain'.PrivateIdentifier case (#2534) by Caio Lima · 9 days ago
344612b Fix: Proxy set, if trap is undefined (#2536) by Rick Waldron · 9 days ago
79146e5 Bring back `verifyProp` param to `isWritable` by Alexey Shvayka · 9 days ago
3bf630c Add for/in test by Alexey Shvayka · 9 days ago
33b9bba Add Reflect.ownKeys test by Alexey Shvayka · 9 days ago
b273aff Add Object.values test by Alexey Shvayka · 9 days ago
5874ca4 Add Object.keys test by Alexey Shvayka · 9 days ago
c370276 Add Object.getOwnPropertySymbols test by Alexey Shvayka · 9 days ago
62c9541 Add Object.getOwnPropertyNames test by Alexey Shvayka · 9 days ago
021b8f2 Add Object.getOwnPropertyDescriptors test by Alexey Shvayka · 9 days ago
b94190e Add Object.entries test by Alexey Shvayka · 9 days ago
2abfc8c Remove unused `verifyProp` paramter from `isWritable` by Alexey Shvayka · 9 days ago
86b9409 Increase unlikely array length by Alexey Shvayka · 9 days ago
17fc109 Fix isWritable throwing RangeError on Array "length" by Alexey Shvayka · 9 days ago
1eff480 Add toJSON stack overflow test by Alexey Shvayka · 9 days ago
2255a0f Add replacer stack overflow test by Alexey Shvayka · 9 days ago
d2b5f63 Improve "info" meta of replacer with deleted property test by Alexey Shvayka · 9 days ago
dc21d6b Add "lastIndex" restore test by Alexey Shvayka · 9 days ago
fe2dfe9 Add "lastIndex" init test by Alexey Shvayka · 9 days ago
fe4e96d Remove duplicate test regexp/u-dec-esc.js by Ross Kirsling · 9 days ago
b0bb917 add dfs tests for https://github.com/tc39/ecma262/pull/1669 by Gus Caplan · 9 days ago
b59d079 Add note on arbitrary large integer by Alexey Shvayka · 9 days ago
669250d RegExp: Test Quantifier with large integer by Alexey Shvayka · 9 days ago
8dccb69 Replace "\b" with "\u0008" by Alexey Shvayka · 9 days ago
2377131 Test \b escape inside CharacterClass in Unicode RegExp by Alexey Shvayka · 9 days ago
7117cdd Test astral literals within inverted CharacterClass by Alexey Shvayka · 9 days ago
2cae203 Add functional replacer with empty result test by Alexey Shvayka · 9 days ago
8e41e8b Add "lastIndex" length abrupt coercion test by Alexey Shvayka · 9 days ago
0485b83 Add "lastIndex" length coercion test by Alexey Shvayka · 9 days ago
807afd9 Make "length" coercion test more precise by Alexey Shvayka · 9 days ago
3f6b961 Make "index" integer coercion test more precise by Alexey Shvayka · 9 days ago
53d16ac Add "index" integer coercion test with functional replacer by Alexey Shvayka · 9 days ago
e3e0e0f Add named capture groups abrupt lookup tests by Alexey Shvayka · 9 days ago
c9e1c1c Add named capture groups abrupt coercion tests by Alexey Shvayka · 9 days ago
4d3db14 Add named capture groups coercion tests by Alexey Shvayka · 9 days ago
dbbe2e7 Add "0" string coercion test with global RegExp by Alexey Shvayka · 9 days ago
50d1419 Make string coercion tests more precise by Alexey Shvayka · 9 days ago
cf583c9 Add poisoned stdlib test by Alexey Shvayka · 9 days ago
67e58de Fix typo in file name by Alexey Shvayka · 9 days ago
fea38b7 Remove extra operation from "info" by Alexey Shvayka · 9 days ago
13082b0 Add Array#concat test by Alexey Shvayka · 9 days ago
679ad48 Add Array#reduceRight test by Alexey Shvayka · 9 days ago
2716290 Add Array#fill test by Alexey Shvayka · 9 days ago
66913bf Add Array#lastIndexOf test by Alexey Shvayka · 9 days ago
4d91ea0 Add Array#indexOf test by Alexey Shvayka · 9 days ago
5885db1 Add Array#copyWithin test by Alexey Shvayka · 9 days ago
2724ddc Dependency: test262-harness@7.3.0 by Rick Waldron · 9 days ago
f72db7e Add [[Call]] tests by Alexey Shvayka · 9 days ago
5c3ea18 Add [[Construct]] tests by Alexey Shvayka · 9 days ago
aa53649 Add [[HasProperty]] tests by Alexey Shvayka · 9 days ago
6155fca Add [[Get]] tests by Alexey Shvayka · 9 days ago
2d60dc0 Add [[Set]] tests by Alexey Shvayka · 9 days ago
983b1ac Add [[OwnPropertyKeys]] tests by Alexey Shvayka · 9 days ago
cc6d48d Add [[PreventExtensions]] tests by Alexey Shvayka · 9 days ago
3987d3c Add [[IsExtensible]] tests by Alexey Shvayka · 9 days ago
d32db7a Add [[SetPrototypeOf]] tests by Alexey Shvayka · 9 days ago
20c2ce3 Add [[GetPrototypeOf]] tests by Alexey Shvayka · 9 days ago
b9377e7 Add [[GetOwnProperty]] tests by Alexey Shvayka · 9 days ago
d46e72d Add [[Delete]] tests by Alexey Shvayka · 9 days ago
6b9929a Add [[DefineOwnProperty]] tests by Alexey Shvayka · 9 days ago
2c432e3 Add coverage for EvaluateNew by Leo Balter · 2 weeks ago
b29b1da Add tests for new identifier characters per Unicode version (#2532) by Mathias Bynens · 2 weeks ago
991e05d Move: AggregateError belongs in the NativeErrors directory (#2528) by Rick Waldron · 2 weeks ago
25c9e33 Update RegExp property escape tests per Unicode v13.0.0 (#2526) by Mathias Bynens · 3 weeks ago
22cd9fe Repair filter test that was testing concat (#2522) by Steven Cole · 3 weeks ago
b0cb75f Repair indexOf test that was testing lastIndexOf (#2521) by Steven Cole · 3 weeks ago
36882a2 Fix: AggregateError/newtarget-proto-fallback. Closes gh-2515 (#2518) by Rick Waldron · 3 weeks ago
800870c Fix DST sensitivity in Date/parse/without-utc-offset.js. (#2523) by Ross Kirsling · 3 weeks ago
7631789 add graaljs test runner by Gus Caplan · 4 weeks ago
56ae1b9 switch to esvu to streamline engine installs by Gus Caplan · 4 weeks ago
ca13f22 Fix lint.exceptions, I hope? by Ross Kirsling · 4 weeks ago
70bbce9 Add lint exception. by Ross Kirsling · 4 weeks ago
df7a0b0 Remove errant LF from CR line ending test again. by Ross Kirsling · 4 weeks ago
ec6239f typo (#2512) by Claude Pache · 5 weeks ago
Bug: v8:7834, v8:9808, v8:10379, v8:10380, v8:10381, v8:10382, v8:10383, v8:10272
Change-Id: I9c46af4f0d72a2f1e032ec1c80d40ca096ce9af9
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2133311
Reviewed-by: Shu-yu Guo <syg@chromium.org>
Commit-Queue: Frank Tang <ftang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#66970}
ICU-TC will deprecate NoUnit later and we were advised to
replace the code from using it.
Bug: v8:10377
Change-Id: I8d76624c5378daab1cdabae52917566d0a4dd687
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2132717
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Commit-Queue: Frank Tang <ftang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#66969}
The difference to Chromium is that we support frame pointers and thus
integrate better with debugging in e.g. gdb.
Bug: chromium:1056170
Change-Id: I2109744d07a7b3af158ed3e0fe731f890b192eee
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2129630
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Reviewed-by: Anton Bikineev <bikineev@chromium.org>
Reviewed-by: Omer Katz <omerkatz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#66967}
From recent discussions on https://crrev.com/c/2057355 it became clear
that the FixedRawData serializer bytecodes need to be refactored. This
CL
- updates documentation to correctly specify that data length is given
in kTaggedSize unit, and
- changes the way smi roots are serialized s.t. deserialization no
longer needs hacks to be correct on big-endian architectures and when
(theoretically) deserializing sequences of smi roots. We do this by
serializing the full object slot for smi roots instead of just the
smi contents.
Bug: v8:10374
Change-Id: I190172d8030888e1950413e436e43b3d6e3b8fd5
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2130276
Commit-Queue: Jakob Gruber <jgruber@chromium.org>
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Reviewed-by: Junliang Yan <jyan@ca.ibm.com>
Cr-Commit-Position: refs/heads/master@{#66966}
For keyed stores we recompute handlers based on the receiver maps
we have seen. This is done so that we can transition to the most generic
elements kind we have seen so far. When we recompute this handlers we
get a new prototype validity cell and ignore the existing cell. This
leads to incorrect behaviour if the cell was invalid. Recomputing the
handler may be extra work which is not worth doing at this point. So
we just reuse the existing validity cell and let the IC recompute the
handler if we see the map again.
Bug: chromium:1053939
Change-Id: Ifc891d70f5a4b8b774238e12fb40e29b4d174e37
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2122032
Commit-Queue: Mythri Alle <mythria@chromium.org>
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Cr-Commit-Position: refs/heads/master@{#66963}
This reverts commit 8f68e39214.
Reason for revert: depot_tools started using Python3 by default with this deps roll, but it contained a Python3 bug. Reverting this and waiting for a new deps roll will fix the issue since the latest depot_tools contains the fix for this issue.
Original change's description:
> Update V8 DEPS.
>
> Rolling v8/build: 26e9d48..de373bb
>
> Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/032c783..054d61d
>
> Rolling v8/third_party/depot_tools: 2b2aec6..e3a49aa
>
> Rolling v8/tools/clang: 105a846..a560ab4
>
> TBR=machenbach@chromium.org,tmrts@chromium.org
>
> Change-Id: I04a2522f65cecb00308bdc0a8f7ed780fe4f3961
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2119950
> Reviewed-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@{#66851}
TBR=machenbach@chromium.org,v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com,tmrts@chromium.org
# Not skipping CQ checks because original CL landed > 1 day ago.
Bug: chromium:1065807
Change-Id: I87281218c99c55503f577b9ab17b2d3b59792601
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2132796
Commit-Queue: Tamer Tas <tmrts@chromium.org>
Reviewed-by: Tamer Tas <tmrts@chromium.org>
Cr-Commit-Position: refs/heads/master@{#66962}
Some embedders (e.g. ChromeOS) override the toolchain and do not
provide such macros.
Bug: chromium:1056170
Change-Id: I3012af6dd7f59580d00e58608a228df562706414
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2132798
Reviewed-by: Anton Bikineev <bikineev@chromium.org>
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#66961}
Port a1bd722799https://crrev.com/c/2129631
Original Commit Message:
This is the same cleanup as in the previous CL, but for {EmitBinOpImm}.
This requires a minor change in the name of the emit functions with
immediate, to make them distinguishable from the emit functions with two
registers. We just append an "i" to the functions with immediate.
Change-Id: I5089097cb74e204002f0dfcfb6ed10d3ade4da0d
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2132346
Reviewed-by: Clemens Backes <clemensb@chromium.org>
Commit-Queue: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn>
Cr-Commit-Position: refs/heads/master@{#66959}
Use inline asm to generate the x64 PushAllRegistersAndIterateStack
which is the trampoline for conservative stack scanning. Keep the
function definition as C code to allow clang to generate the correct
mangling for each platform.
This approach has the benefit that it immediately works for all
platforms that support clang.
Bug: chromium:1056170
Change-Id: Ic7a1c1b57e67ae1442bd8bda4e55d89112facfc7
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2132787
Reviewed-by: Omer Katz <omerkatz@chromium.org>
Reviewed-by: Anton Bikineev <bikineev@chromium.org>
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#66958}
Use new API available in ICU65.1 so legacy locales won't be hidden.
Bug: v8:9312,chromium:968269
Change-Id: I6e44501249cdb863ff9b1ab858efdf8908380a82
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2131373
Commit-Queue: Frank Tang <ftang@chromium.org>
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Cr-Commit-Position: refs/heads/master@{#66957}
Only run the test when locale 'bn' is supported
Bug: v8:9100
Change-Id: I455d77a7fb7495f1f866211084cdb68fceb8c871
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2130069
Commit-Queue: Frank Tang <ftang@chromium.org>
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Cr-Commit-Position: refs/heads/master@{#66956}
The trampoline should never inline the actual iteration method and
always use a full call. As a result, there can be no interesting data
in the redzone.
This allows simplifying as the existence and size of a red zone is platform
dependent.
Bug: chromium:1056170
Change-Id: I38d686b0e60fdcc383c40a45e7a81ec0e91f4d62
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2132788
Reviewed-by: Anton Bikineev <bikineev@chromium.org>
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#66955}
The tests using the recursive function were broken on non-clang builds
as GCC is able to agressively the function in question and proof that
parameters are not actually needed.
Bug: chromium:1056170
Change-Id: Iacbff766ca9d300c9ae5d16394e205b1883609eb
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2130274
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Reviewed-by: Anton Bikineev <bikineev@chromium.org>
Cr-Commit-Position: refs/heads/master@{#66952}