Commit Graph

61529 Commits

Author SHA1 Message Date
Andreas Haas
9cc8c66107 [cleanup][arm] Document code generation of kArmWord32AtomicPairStore
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}
2020-04-03 16:11:34 +00:00
Maya Lekova
0d6debcc5f [turbofan] Fixes for integrating the fast C API
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}
2020-04-03 15:40:25 +00:00
Hannes Payer
6844179837 [heap] Make the scavenge task trigger configurable via a runtime flags.
Change-Id: If9252354404efcac89ab8fbbd41250a6311fdfd6
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2135731
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Commit-Queue: Hannes Payer <hpayer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#66985}
2020-04-03 14:21:44 +00:00
Milad Farazmand
6a99e67329 PPC/s390: [wasm-simd][liftoff] Implement min of i8x16, i16x8, i32x4 on x64 and ia32
Port ec4ccade1b

R=zhiguo.zhou@intel.com, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
BUG=
LOG=N

Change-Id: Ide15cd0350633b5fb4f2af0ce55a334b428d1320
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2134421
Reviewed-by: Junliang Yan <jyan@ca.ibm.com>
Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com>
Cr-Commit-Position: refs/heads/master@{#66984}
2020-04-03 13:52:04 +00:00
Hannes Payer
ce08f879e5 [heap] Add a flag to disable scavenge tasks.
Change-Id: I921cdcf7a1b9dc0d5f8ddcb94c5e374b1fb1c879
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2135626
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Commit-Queue: Hannes Payer <hpayer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#66983}
2020-04-03 13:15:54 +00:00
Clemens Backes
4d0d82de25 Revert "[wasm] Deduplicate wasm scripts"
This reverts commit 6ebccbd1f4.

Reason for revert: Fails gc-stress: https://ci.chromium.org/p/v8/builders/ci/V8%20Linux%20-%20gc%20stress/27313

Original change's description:
> [wasm] Deduplicate wasm scripts
>
> R=​clemensb@chromium.org
>
> Bug: v8:6847
> Change-Id: I4509a7011a0d32f5bbd2eabf3d2ee6ef5304263d
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2124320
> Commit-Queue: Thibaud Michaud <thibaudm@chromium.org>
> Reviewed-by: Clemens Backes <clemensb@chromium.org>
> Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#66981}

TBR=ulan@chromium.org,clemensb@chromium.org,thibaudm@chromium.org

Change-Id: I58e857d43b524115be3e29b9524794f05d631544
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: v8:6847
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2135730
Commit-Queue: Clemens Backes <clemensb@chromium.org>
Reviewed-by: Clemens Backes <clemensb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#66982}
2020-04-03 13:14:04 +00:00
Thibaud Michaud
6ebccbd1f4 [wasm] Deduplicate wasm scripts
R=clemensb@chromium.org

Bug: v8:6847
Change-Id: I4509a7011a0d32f5bbd2eabf3d2ee6ef5304263d
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2124320
Commit-Queue: Thibaud Michaud <thibaudm@chromium.org>
Reviewed-by: Clemens Backes <clemensb@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#66981}
2020-04-03 12:47:54 +00:00
Zhao Jiazhong
1bb1d634e1 [mips][wasm-simd][liftoff] Implement min of i8x16, i16x8, i32x4
Port ec4ccade1b
https://crrev.com/c/2129176

Change-Id: I6c37c6a2be4a42c440dd8c0920647a587f55e44d
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2135546
Reviewed-by: Clemens Backes <clemensb@chromium.org>
Commit-Queue: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn>
Cr-Commit-Position: refs/heads/master@{#66980}
2020-04-03 10:51:14 +00:00
Clemens Backes
e8ff83ddb4 [wasm] Split adding code from publishing
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}
2020-04-03 10:27:04 +00:00
Clemens Backes
2a303b1c62 [liftoff] Add code comments for OOL code
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}
2020-04-03 09:42:24 +00:00
Bruce Dawson
e84e9b92f9 Revert "Speculative fix to crashes from a CPU bug"
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}
2020-04-03 08:53:34 +00:00
Michael Lippautz
3363adbe1f cppgc: TSAN support for stack scanning
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}
2020-04-03 07:50:24 +00:00
Michael Lippautz
1e1323980f cppgc: Conservative stack for ia32 Windows using clang
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}
2020-04-03 06:48:03 +00:00
Anton Bikineev
aecd1e5811 cppgc: Add SourceLocation class
SourceLocation is needed to track Persistents.

Bug: chromium:1056170
Change-Id: I4d5cf151a4d27b4c29582ff8195cdcb7453afe1c
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2132790
Commit-Queue: Anton Bikineev <bikineev@chromium.org>
Reviewed-by: Omer Katz <omerkatz@chromium.org>
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#66974}
2020-04-03 02:00:23 +00:00
Timothy Gu
51c00e9f34 [torque] Add CastOrDefault and consistently use Is<Callable>
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}
2020-04-02 23:17:02 +00:00
Zhou, Zhiguo
ec4ccade1b [wasm-simd][liftoff] Implement min of i8x16, i16x8, i32x4 on x64 and ia32
Bug: v8:9909
Change-Id: I11fae10593d135e007866411c61076300ac4ae7d
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2129176
Reviewed-by: Clemens Backes <clemensb@chromium.org>
Reviewed-by: Zhi An Ng <zhin@chromium.org>
Commit-Queue: Zhiguo Zhou <zhiguo.zhou@intel.com>
Cr-Commit-Position: refs/heads/master@{#66972}
2020-04-02 22:22:27 +00:00
Ng Zhi An
a4ebf1f0f0 [wasm-simd][liftoff][arm][arm64] Implement mul
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}
2020-04-02 21:19:37 +00:00
Frank Tang
4491da98ff Roll test262
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}
2020-04-02 18:34:16 +00:00
Frank Tang
23e43cc0cd [intl] Remove the soon to be deprecated NoUnit
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}
2020-04-02 17:52:26 +00:00
Lutz Vahl
fb8f26639b Update v8 version to 8.4
TBR=liviurau@chromium.org,machenbach@chromium.org
NOTRY=true

Change-Id: I05c093c22d9d5d6ac889a8229bee5b23e12d6f1e
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2134370
Reviewed-by: Lutz Vahl <vahl@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Liviu Rau <liviurau@chromium.org>
Reviewed-by: Michael Hablich <hablich@chromium.org>
Commit-Queue: Lutz Vahl <vahl@chromium.org>
Cr-Commit-Position: refs/heads/master@{#66968}
2020-04-02 15:26:41 +00:00
Michael Lippautz
f00a02bb8d cppgc: Conservative stack scan for non-Windows ia32 on clang
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}
2020-04-02 15:25:37 +00:00
Jakob Gruber
3b4b736a90 [snapshot] Refactor the FixedRawData bytecode
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}
2020-04-02 14:43:30 +00:00
Zhao Jiazhong
09982b6bad [mips][wasm-simd][liftoff] Implement add_saturate
Port 767401ba54
https://crrev.com/c/2116878

Change-Id: I566a014a4d3021ac9b3576030c08fe0b46b33809
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2132349
Reviewed-by: Clemens Backes <clemensb@chromium.org>
Commit-Queue: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn>
Cr-Commit-Position: refs/heads/master@{#66965}
2020-04-02 14:42:25 +00:00
Toon Verwaest
4561500ee4 [parser] Already break the expression scope chain for function parameters
Otherwise we'll invalidly propagate information from default function parameters outwards to outer arrow scopes.

Bug: chromium:1060023
Change-Id: Id43ecb5e1d354d5250a80c2a4f7e3129759041d5
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2134006
Commit-Queue: Toon Verwaest <verwaest@chromium.org>
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Auto-Submit: Toon Verwaest <verwaest@chromium.org>
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Cr-Commit-Position: refs/heads/master@{#66964}
2020-04-02 13:16:55 +00:00
Mythri A
800c294cf1 [ic] Use the existing prototype validity cell when recomputing handlers
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}
2020-04-02 12:36:45 +00:00
Tamer Tas
b8f14fc343 [deps] revert "Update V8 DEPS." with a depot_tools bug
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}
2020-04-02 11:23:35 +00:00
Michael Lippautz
3d09332ee1 cppgc: Do not rely on V8_TARGET_OS_* macro in trampoline stub file
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}
2020-04-02 11:09:45 +00:00
Michael Lippautz
6fc2a08894 cppgc: Ignore stack scan tests for TSAN
Tbr: bikineev@chromium.org
No-try: true
Bug: chromium:1056170
Change-Id: I4872b617b038bc647543a3dd5a435ad82c7291ba
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2132792
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#66960}
2020-04-02 08:41:06 +00:00
Zhao Jiazhong
58640de6ba [mips][liftoff] Remove lambdas for binops with immediate
Port a1bd722799
https://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}
2020-04-02 07:50:31 +00:00
Michael Lippautz
be7e57665e cppgc: Use inline asm to generate x64 stack scanning trampoline
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}
2020-04-02 07:49:26 +00:00
Frank Tang
7cba1ed502 Enable legacy locales "sh", "no", "tl"
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}
2020-04-01 22:43:43 +00:00
Frank Tang
e0de3b6d42 Fix android test breakage due to lack of locale
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}
2020-04-01 21:34:33 +00:00
Michael Lippautz
3b442f960d cppgc: Remove redzone from stack scan
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}
2020-04-01 20:44:13 +00:00
Bill Ticehurst
b80be38cac Fix MSVC component build break
Without this header inclusion, doing a component build with MSVC failed with:

FAILED: mksnapshot.exe mksnapshot.exe.pdb
  <...> /OUT:./mksnapshot.exe <...>  exported-macros-assembler-tq.obj

error LNK2019: unresolved external symbol
 public: void __cdecl v8::internal::FixedArray::set(int,class v8::internal::Smi)

referenced in function

 protected: void __cdecl v8::internal::OrderedHashTable
   <class v8::internal::OrderedHashMap,2>::SetNumberOfBuckets(int)

.\mksnapshot.exe : fatal error LNK1120: 1 unresolved externals

Change-Id: I6c6b6aa77ad8c26b9225daad6b2d224b2f3f399b
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2124886
Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
Commit-Queue: Bill Ticehurst <billti@microsoft.com>
Cr-Commit-Position: refs/heads/master@{#66954}
2020-04-01 16:16:04 +00:00
Omer Katz
03c38afa41 cppgc: Add support for mixins
This CL introduces
 - GarbageCollectedMixin
 - IsGarbageCollectedMixinType
 - HeapObjectHeaderFor (utility method to get correct header for mixins)

Bug: chromium:1056170
Change-Id: I48c2c02fa57487824130ea3620c975a0785075e4
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2130275
Commit-Queue: Omer Katz <omerkatz@chromium.org>
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Reviewed-by: Anton Bikineev <bikineev@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#66953}
2020-04-01 16:04:14 +00:00
Michael Lippautz
5762c61874 cppgc: Cleanup unittests
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}
2020-04-01 14:56:15 +00:00
Michael Lippautz
fc57d4e815 cppgc: Remove Win stack scanning support
Even though the default toolchain for assembly on Windows uses MASM
assemblers, we are not supposed to use them to support Linux/Win
cross-compile.

Bug: chromium:1056170, chromium:1066834
Change-Id: If17dbd68915f843e3fb47584560a4667d5c35bc7
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2132250
Reviewed-by: Anton Bikineev <bikineev@chromium.org>
Reviewed-by: Omer Katz <omerkatz@chromium.org>
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#66951}
2020-04-01 14:52:44 +00:00
Milad Farazmand
4b56b1f858 PPC/s390: [wasm-simd] [liftoff] Implement add_saturate on ia32 and x64
Port 767401ba54

R=fanchen.kong@intel.com, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
BUG=
LOG=N

Change-Id: Ice8b33376e22ab6658503cda9e34202f96688bcf
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2131509
Reviewed-by: Junliang Yan <jyan@ca.ibm.com>
Reviewed-by: Milad Farazmand <miladfar@ca.ibm.com>
Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com>
Cr-Commit-Position: refs/heads/master@{#66950}
2020-04-01 14:47:44 +00:00
Clemens Backes
7bb686a976 [asm] Fix double literals without dots
Double literals without dots should still be parsed as double constants,
not unsigned constants. The static_cast would remove the fractional
part, making constants like "1e-15" come out as "0" unsigned constants.

The precise semantics is not spec'ed, so we still consider literals like
"1e1" to be unsigned, and only switch to double if there is a fractional
part.

R=ecmziegler@chromium.org

Bug: chromium:1065635
Change-Id: I0aac018058a149632e0849572d19fdcc7b2af7aa
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2126922
Reviewed-by: Emanuel Ziegler <ecmziegler@chromium.org>
Commit-Queue: Clemens Backes <clemensb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#66949}
2020-04-01 13:59:24 +00:00
Maya Lekova
6ee457bf05 [turbofan] Add a type check to String.prototype.startsWith
The ReduceStringPrototypeStartsWith implementation in TurboFan
was doing the CheckString too late, after returning "false" in
case there are no arguments.

Fixed: chromium:1065741
Change-Id: I1016383d65120d3b050e76d6ac41986497af0b8d
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2129639
Commit-Queue: Maya Lekova <mslekova@chromium.org>
Reviewed-by: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#66948}
2020-04-01 13:57:44 +00:00
Kong, Fanchen
767401ba54 [wasm-simd] [liftoff] Implement add_saturate on ia32 and x64
Bug: v8:9909
Change-Id: Ib744bcbfe3df66d6904421bcbd2581dd6a95b75c
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2116878
Commit-Queue: Fanchen Kong <fanchen.kong@intel.com>
Reviewed-by: Zhi An Ng <zhin@chromium.org>
Reviewed-by: Clemens Backes <clemensb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#66947}
2020-04-01 13:13:54 +00:00
Georg Neis
2f0e62e826 [turbofan] Mark JSStoreGlobal as NeedsExactContext
JSStoreGlobal can become a call into runtime code (SetProperty)
that inspects the context in order to get the language mode. Thus
always passing the native context is not good enough.

Bug: chromium:1065737
Change-Id: Iba9537cd3de743a0967325acf7900190aa835b5f
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2130280
Reviewed-by: Nico Hartmann <nicohartmann@chromium.org>
Commit-Queue: Nico Hartmann <nicohartmann@chromium.org>
Auto-Submit: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#66946}
2020-04-01 12:18:14 +00:00
Clemens Backes
0612910150 [liftoff] Remove some binop macros
This inlines the first set of macros in order reduce an unneccessary
layer of abstraction. This makes the code easier to read and to debug.

R=zhin@chromium.org

Bug: v8:10364
Change-Id: Ia8ccb90c285c365ae5b3d52b6b6912ad1a76d81d
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2129532
Commit-Queue: Clemens Backes <clemensb@chromium.org>
Reviewed-by: Zhi An Ng <zhin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#66945}
2020-04-01 12:08:54 +00:00
Zhao Jiazhong
56bf2a116c [mips][interpreter] Make IterationBody StackChecks implicit within JumpLoop
Port a447a44f31
https://crrev.com/c/2064226

Original Commit Message:

  Since now the IterationBody StackChecks are implicit within JumpLoops,
  we are able to eagerly deopt in them. If we do that, whenever we advance
  to the next bytecode we don't have to advance to the next literal
  bytecode, but instead "advance" in the sense of doing the JumpLoop.

  Adding tests that test this advancing for wide and extra wide JumpLoops.

  Also, marking JumpLoop as needing source positions since now it has
  the ability of causing an interrupt.

Change-Id: Ia435888fbaca8596839aa15dafb8b4e7239981fd
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2119783
Reviewed-by: Santiago Aboy Solanes <solanes@chromium.org>
Commit-Queue: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn>
Cr-Commit-Position: refs/heads/master@{#66944}
2020-04-01 12:02:04 +00:00
Clemens Backes
219b0edb6e [liftoff] Shorten names of value types
Import the most commonly used ValueType kinds as constants into
{LiftoffCompiler}, so that we don't need the fully-qualified accessor on
{ValueType}.
This makes many template instantiations much shorter and hence easier to
read.

Drive-by: Replace break after function by return. This often saves
  another line, making macros and switch statements much shorter.

R=zhin@chromium.org

Bug: v8:10364
Change-Id: If78352c2fa6b854989fa82718d0b3478b4d73aad
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2129634
Commit-Queue: Clemens Backes <clemensb@chromium.org>
Reviewed-by: Zhi An Ng <zhin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#66943}
2020-04-01 11:57:44 +00:00
Camillo Bruni
91a60a4fcb [tools] Harden and speed up map-processor
- avoid endless recursion with corrupted traces
- speed up page by async bar repainting
- minor tweaks to avoid unnecessary work
- move helper functions to make command line version parse log files

Change-Id: If8ce9cc4093030d648fbc7bbb60e53412e9f7a79
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2115434
Commit-Queue: Camillo Bruni <cbruni@chromium.org>
Reviewed-by: Sathya Gunasekaran  <gsathya@chromium.org>
Cr-Commit-Position: refs/heads/master@{#66942}
2020-04-01 10:34:04 +00:00
Clemens Backes
a1bd722799 [liftoff] Remove lambdas for binops with immediate
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.

R=zhin@chromium.org

Bug: v8:10364
Change-Id: Ie3732a956698368a5f1fbe67334a13014cd2f354
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2129631
Commit-Queue: Clemens Backes <clemensb@chromium.org>
Reviewed-by: Zhi An Ng <zhin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#66941}
2020-04-01 10:26:54 +00:00
Adam Kallai
4c414a2265 fix: failing ThreadTicks DCHECK on Windows on Arm
The same issue has been fixed in Chromium [1] by Richard Townsend.
It seems that cl needs to be applied in V8 as well.

[1] https://chromium-review.googlesource.com/c/chromium/src/+/1593363

Also add self to authors file.

Bug: v8:10365
Change-Id: Ic38b18392263c2a89f207013ec61718418d5f132
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2130126
Commit-Queue: Clemens Backes <clemensb@chromium.org>
Reviewed-by: Clemens Backes <clemensb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#66940}
2020-04-01 10:15:24 +00:00
Clemens Backes
ee498c1c16 [asm] Avoid instantiation as resumable function
If "use asm" is used inside a "function*" or async function, it should
bail out.

Drive-by: Minor cleanup in {Runtime_InstantiateAsmJs}.

R=ecmziegler@chromium.org

Bug: chromium:1065852
Change-Id: Ice48126b803a30c4b4ff7b5ae22df85a3f36198a
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2126920
Reviewed-by: Emanuel Ziegler <ecmziegler@chromium.org>
Commit-Queue: Clemens Backes <clemensb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#66939}
2020-04-01 09:50:34 +00:00
Clemens Backes
bff40c9927 [liftoff] Replace lambdas by generic templates
Liftoff has lots of macros that just convert between {LiftoffRegister}
and either {Register} or {DoubleRegister}.
This CL avoids most of these lambdas by passing the original assembler
function to {EmitUnOp} and {EmitBinOp}, and converting the register
types only when calling the respective function.

This makes the code in many macros a lot shorter, and might allow us to
eliminate many macros and just inline their code.

R=zhin@chromium.org

Bug: v8:10364
Change-Id: I8b7dbb19e367d33181d94472ab422a0a50786449
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2129629
Commit-Queue: Clemens Backes <clemensb@chromium.org>
Reviewed-by: Zhi An Ng <zhin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#66938}
2020-04-01 09:03:17 +00:00