- 03 Apr, 2020 4 commits
-
-
Bruce Dawson authored
This reverts commit 10360127. 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}
-
Michael Lippautz authored
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/+/2132797Reviewed-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}
-
Michael Lippautz authored
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/+/2134136Reviewed-by: Anton Bikineev <bikineev@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#66975}
-
Anton Bikineev authored
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}
-
- 02 Apr, 2020 16 commits
-
-
Timothy Gu authored
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}
-
Zhou, Zhiguo authored
Bug: v8:9909 Change-Id: I11fae10593d135e007866411c61076300ac4ae7d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2129176Reviewed-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}
-
Ng Zhi An authored
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}
-
Frank Tang authored
https://chromium.googlesource.com/external/github.com/tc39/test262/+log/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/+/2133311Reviewed-by: Shu-yu Guo <syg@chromium.org> Commit-Queue: Frank Tang <ftang@chromium.org> Cr-Commit-Position: refs/heads/master@{#66970}
-
Frank Tang authored
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/+/2132717Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Frank Tang <ftang@chromium.org> Cr-Commit-Position: refs/heads/master@{#66969}
-
Lutz Vahl authored
TBR=liviurau@chromium.org,machenbach@chromium.org NOTRY=true Change-Id: I05c093c22d9d5d6ac889a8229bee5b23e12d6f1e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2134370Reviewed-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}
-
Michael Lippautz authored
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}
-
Jakob Gruber authored
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}
-
Zhao Jiazhong authored
Port 767401ba https://crrev.com/c/2116878 Change-Id: I566a014a4d3021ac9b3576030c08fe0b46b33809 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2132349Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn> Cr-Commit-Position: refs/heads/master@{#66965}
-
Toon Verwaest authored
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}
-
Mythri A authored
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}
-
Tamer Tas authored
This reverts commit 8f68e392. 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: https://chromium.googlesource.com/chromium/src/build/+log/26e9d48..de373bb > > Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/032c783..054d61d > > Rolling v8/third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools/+log/2b2aec6..e3a49aa > > Rolling v8/tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang/+log/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}
-
Michael Lippautz authored
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/+/2132798Reviewed-by: Anton Bikineev <bikineev@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#66961}
-
Michael Lippautz authored
Tbr: bikineev@chromium.org No-try: true Bug: chromium:1056170 Change-Id: I4872b617b038bc647543a3dd5a435ad82c7291ba Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2132792Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#66960}
-
Zhao Jiazhong authored
Port a1bd7227 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/+/2132346Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn> Cr-Commit-Position: refs/heads/master@{#66959}
-
Michael Lippautz authored
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/+/2132787Reviewed-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}
-
- 01 Apr, 2020 20 commits
-
-
Frank Tang authored
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}
-
Frank Tang authored
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}
-
Michael Lippautz authored
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/+/2132788Reviewed-by: Anton Bikineev <bikineev@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#66955}
-
Bill Ticehurst authored
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/+/2124886Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Bill Ticehurst <billti@microsoft.com> Cr-Commit-Position: refs/heads/master@{#66954}
-
Omer Katz authored
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}
-
Michael Lippautz authored
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}
-
Michael Lippautz authored
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/+/2132250Reviewed-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}
-
Milad Farazmand authored
Port 767401ba 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/+/2131509Reviewed-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}
-
Clemens Backes authored
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/+/2126922Reviewed-by: Emanuel Ziegler <ecmziegler@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#66949}
-
Maya Lekova authored
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}
-
Kong, Fanchen authored
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}
-
Georg Neis authored
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/+/2130280Reviewed-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}
-
Clemens Backes authored
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}
-
Zhao Jiazhong authored
Port a447a44f 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/+/2119783Reviewed-by: Santiago Aboy Solanes <solanes@chromium.org> Commit-Queue: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn> Cr-Commit-Position: refs/heads/master@{#66944}
-
Clemens Backes authored
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}
-
Camillo Bruni authored
- 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}
-
Clemens Backes authored
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}
-
Adam Kallai authored
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}
-
Clemens Backes authored
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/+/2126920Reviewed-by: Emanuel Ziegler <ecmziegler@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#66939}
-
Clemens Backes authored
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}
-