- 27 Apr, 2020 13 commits
-
-
Omer Katz authored
Bug: chromium:1056170 Change-Id: I6a0fdd867caa7fc49ff586d878bc57b621260afc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2167863 Commit-Queue: Omer Katz <omerkatz@chromium.org> Commit-Queue: Anton Bikineev <bikineev@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Anton Bikineev <bikineev@chromium.org> Cr-Commit-Position: refs/heads/master@{#67396}
-
Shu-yu Guo authored
Bug: v8:8179, chromium:1074621 Change-Id: I5a5e01df1e91937451041cd945a8cc72868c175c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2166944Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Shu-yu Guo <syg@chromium.org> Cr-Commit-Position: refs/heads/master@{#67395}
-
Santiago Aboy Solanes authored
This is a CL in a string of CLs that template SimplifiedLowering. It is done with the purpose of decoupling the implementation in the three phases that SimplifiedLowering has (Propagate, Retype, Lower). Template VisitBinop (and Binop specific ones like VisitSpeculativeInt32Binop), for which we need to template: * VisitSpeculativeAdditiveOp * VisitSpeculativeNumberModulus * VisitCheckBounds Bug: v8:10424 Change-Id: I51764cb2e9ea9c2aa14829888d352e1947be77b5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2135637Reviewed-by: Georg Neis <neis@chromium.org> Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#67394}
-
Milad Farazmand authored
This CL introduces a new XX1-Form instruction as well as separates VX-Form instructions to be used for implementing simd Splat: - I32x4 - I8x16 - I16x8 Change-Id: If81bbc87b45993ba6fa3e0146dd34496e247dd50 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2165866Reviewed-by: Junliang Yan <jyan@ca.ibm.com> Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#67393}
-
Georg Neis authored
Add Nico, remove Ben and Jaro who left V8. Change-Id: I6bee6f45e4933f286d8672114fdb5b89115172d2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2167439 Auto-Submit: Georg Neis <neis@chromium.org> Reviewed-by: Michael Stanton <mvstanton@chromium.org> Commit-Queue: Michael Stanton <mvstanton@chromium.org> Cr-Commit-Position: refs/heads/master@{#67392}
-
Clemens Backes authored
This adds a test which I suspected would fail, but luckily it doesn't. The idea is to catch a proper wasm exception in JS, then construct a new exception, but set the catched exception as the prototype. My suspicion was that we would still handle that new exception like a wasm exception, since the `WasmExceptionGetTag` and `WasmExceptionGetValues` runtime functions to a standard property lookup, which includes a prototype walk. Interestingly, the prototype walk is already skipped automatically when loading private symbols, so the implementation already supports this case correctly. Let's still add this test to have coverage for this case. R=jkummerow@chromium.org CC=aheejin@chromium.org Bug: v8:8091 Change-Id: Idf9944cf47f96cca38e9678e9200bf03a39ea126 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2167438Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#67391}
-
Santiago Aboy Solanes authored
This is a CL in a string of CLs that template SimplifiedLowering. It is done with the purpose of decoupling the implementation in the three phases that SimplifiedLowering has (Propagate, Retype, Lower). Template: * VisitInputs * EnqueueInputs * Finish ProcessRemainingInputs, which ends up templating some VistXXX methods Bug: v8:10424 Change-Id: I10a22ca9a2e472d3177e910c640507cab861846d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2135636Reviewed-by: Georg Neis <neis@chromium.org> Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#67390}
-
Peter Marshall authored
Change-Id: I25618b4516fe90eb563bd6b02a8ff1c5081d8f15 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2165731Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Peter Marshall <petermarshall@chromium.org> Cr-Commit-Position: refs/heads/master@{#67389}
-
Peter Marshall authored
Change-Id: I0ad1aaa128c544b44139da5fd7ad19e46c9e0adc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2165730Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Peter Marshall <petermarshall@chromium.org> Cr-Commit-Position: refs/heads/master@{#67388}
-
Gilang Mentari Hamidy authored
- Add template specialization for DataRange::get<bool> to avoid undefined behavior of the template DataRange::get<T> which uses memcpy to assign the result variable Change-Id: I129773251c063ea6863c4b2318dbc18574588d99 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2165728Reviewed-by: Andreas Haas <ahaas@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#67387}
-
Camillo Bruni authored
Bug: v8:10378 Change-Id: Ida53679c819e0a1427f31a31526142348510ca78 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2166906Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#67386}
-
Santiago Aboy Solanes authored
This is the first in a string of CLs that template SimplifiedLowering. It is done with the purpose of decoupling the implementation in the three phases that SimplifiedLowering has (Propagate, Retype, Lower). Template: * VisitNodes * SetOutput * ProcessInput * ProcessRemainingInputs Bug: v8:10424 Change-Id: I2d55148f5a4aafae5ec54d58a6690fc755806340 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2126916 Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> Cr-Commit-Position: refs/heads/master@{#67385}
-
Jakob Gruber authored
The call sequence for snapshot creation is quite involved. Details should not be exposed outside src/snapshot. This CL pulls more details of snapshot creation into Snapshot::Create, which is intended to be the single chokepoint for API, tests, and other internal use. Bug: v8:10416,chromium:1043058 Change-Id: I610293b5f70fec12e5513e5f803b5dd9118fd3b2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2150589 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#67384}
-
- 25 Apr, 2020 2 commits
-
-
Shu-yu Guo authored
WeakRef and FinalizationRegistry are intrinsically observably nondeterministic because they depend on GC timing. TBR=clemensb@chromium.org,machenbach@chromium.org Bug: chromium:1074235 Change-Id: I8f28fdc46a3109218d69b106406860211ee9f258 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2165880Reviewed-by: Shu-yu Guo <syg@chromium.org> Commit-Queue: Shu-yu Guo <syg@chromium.org> Cr-Commit-Position: refs/heads/master@{#67383}
-
Frank Tang authored
Intl.DisplayNames was shipped in m81 and we now can remove the flag. https://www.chromestatus.com/features/4965112605573120 Bug: v8:8703 Change-Id: Ib65d787c1871aa1da38a22fdb9e369c680c7d2c9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2163820 Commit-Queue: Frank Tang <ftang@chromium.org> Reviewed-by: Shu-yu Guo <syg@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#67382}
-
- 24 Apr, 2020 25 commits
-
-
Frank Tang authored
I2S https://groups.google.com/a/chromium.org/forum/#!searchin/blink-dev/fractionalSecondDigits%7Csort:date/blink-dev/ISa0b6fOefY/pBlgkvZhBAAJ I2P https://groups.google.com/a/chromium.org/forum/#!searchin/blink-dev/Intent$20to$20Implement$3A$20Add$20millisecondDigits$20option$20to$20Intl.DateTimeFormat%7Csort:date/blink-dev/WXd9nh03a1M/z7QeIMgrBgAJ Chrome Status: https://www.chromestatus.com/feature/5704965743968256 Latest spec: https://github.com/tc39/ecma402/pull/347 LGTMs: bratell.d@gmail.com / chrishtr@chromium.org / mkwst@chromium.org Bug: v8:9284 Change-Id: I4d2cca515ce65d41b38ebdef00b429fa873ea624 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2116989 Commit-Queue: Frank Tang <ftang@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#67381}
-
Bill Budge authored
This reverts commit ff22ae80. Reason for revert: new test fails on UBSAN https://ci.chromium.org/p/v8/builders/ci/V8%20Linux64%20UBSan/10831 Original change's description: > [turbofan][csa] optimize Smi untagging better > > - Introduce new operator variants for signed right-shifts with the > additional information that they always shift out zeros. > - Use these new operators for Smi untagging. > - Merge left-shifts with a preceding Smi-untagging shift. > - Optimize comparisons of Smi-untagging shifts to operate on the > unshifted word. > - Optimize 64bit comparisons of values expanded from 32bit to use > a 32bit comparison instead. > - Change CodeStubAssembler::UntagSmi to first sign-extend and then > right-shift to enable better address computations for Smi indices. > > Bug: v8:9962 > Change-Id: If91300f365e8f01457aebf0bd43bdf88b305c460 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2135734 > Commit-Queue: Tobias Tebbi <tebbi@chromium.org> > Reviewed-by: Georg Neis <neis@chromium.org> > Cr-Commit-Position: refs/heads/master@{#67378} TBR=neis@chromium.org,tebbi@chromium.org Change-Id: I2617d7a44e5ae33fd79322d37c8b722c00162d22 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:9962 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2165873Reviewed-by: Bill Budge <bbudge@chromium.org> Commit-Queue: Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#67380}
-
Frank Tang authored
Change-Id: Ibbf0b2fd183d40445930c4197b92fd3b5bb2c40b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2158487Reviewed-by: Nebojša Ćirić <cira@chromium.org> Reviewed-by: Shu-yu Guo <syg@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Adam Klein <adamk@chromium.org> Commit-Queue: Frank Tang <ftang@chromium.org> Cr-Commit-Position: refs/heads/master@{#67379}
-
Tobias Tebbi authored
- Introduce new operator variants for signed right-shifts with the additional information that they always shift out zeros. - Use these new operators for Smi untagging. - Merge left-shifts with a preceding Smi-untagging shift. - Optimize comparisons of Smi-untagging shifts to operate on the unshifted word. - Optimize 64bit comparisons of values expanded from 32bit to use a 32bit comparison instead. - Change CodeStubAssembler::UntagSmi to first sign-extend and then right-shift to enable better address computations for Smi indices. Bug: v8:9962 Change-Id: If91300f365e8f01457aebf0bd43bdf88b305c460 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2135734 Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#67378}
-
Frank Tang authored
Remove harmony-intl-{other-calendars,add-calendar-numbering-system} https://www.chromestatus.com/features/5440249461211136 Bug: v8:9154 Change-Id: I8331d3cbd55e19ab1b1f983fef2e772fa7dc856c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2163816Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Shu-yu Guo <syg@chromium.org> Commit-Queue: Frank Tang <ftang@chromium.org> Cr-Commit-Position: refs/heads/master@{#67377}
-
Shu-yu Guo authored
Normative spec change: https://github.com/tc39/ecma262/pull/1814 Bug: v8:10382 Change-Id: Ib17ece9f0c8f75702c828b5336e75cab5d173e5e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2163876 Commit-Queue: Shu-yu Guo <syg@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#67376}
-
Francis McCabe authored
This reverts commit 390ed4b9. Reason for revert: https://ci.chromium.org/p/v8/builders/ci/V8%20Linux/36714? Original change's description: > [arm] Change fp_fixed registers to be allocatable registers > > fp_fixed1 and fp_fixed2 are used by the S8x16Shuffle operation. They > need to be allocatable, so that they can be correctly marked as fixed > and spilled as required. The previous value of fp_fixed2, d29, is not in > the list of allocatable double registers, and not marked as fixed > appropriately. > > One fix could be to extend the list of allocatable double registers, but > there is a comment there saying that the list is kept even-length to > make stack alignment easier. So rather than messing with that, we > instead change what fp_fixed1 and fp_fixed2 is, since S8x16Shuffle is > the only user, this is a simpler change. > > Bug: chromium:1070078 > Change-Id: Id7de9b256bad2cfb11b0f06b66eb80a48ff7827c > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2161565 > Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> > Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> > Commit-Queue: Zhi An Ng <zhin@chromium.org> > Cr-Commit-Position: refs/heads/master@{#67372} TBR=gdeepti@chromium.org,zhin@chromium.org,thibaudm@chromium.org Change-Id: I00b4b34771b5832cc3d5fe6eac7aac506ec82d50 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:1070078 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2165865Reviewed-by: Francis McCabe <fgm@chromium.org> Commit-Queue: Francis McCabe <fgm@chromium.org> Cr-Commit-Position: refs/heads/master@{#67375}
-
Michael Achenbach authored
Bug: chromium:1044942 Change-Id: If7caf955f5aab954a57c46aab7830830b1a64d04 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2162872Reviewed-by: Maya Lekova <mslekova@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#67374}
-
Ng Zhi An authored
We change a bunch of static_cast to a cleaner and shorter brace initialization. I did not change every use of static_cast in the files, just those that relate to SIMD, so as to not cause churn in the diff/blame. Change-Id: I7e90c1b81f09a1e7a3ae7c9825db4fdbd21db919 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2159737Reviewed-by: Clemens Backes <clemensb@chromium.org> Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#67373}
-
Ng Zhi An authored
fp_fixed1 and fp_fixed2 are used by the S8x16Shuffle operation. They need to be allocatable, so that they can be correctly marked as fixed and spilled as required. The previous value of fp_fixed2, d29, is not in the list of allocatable double registers, and not marked as fixed appropriately. One fix could be to extend the list of allocatable double registers, but there is a comment there saying that the list is kept even-length to make stack alignment easier. So rather than messing with that, we instead change what fp_fixed1 and fp_fixed2 is, since S8x16Shuffle is the only user, this is a simpler change. Bug: chromium:1070078 Change-Id: Id7de9b256bad2cfb11b0f06b66eb80a48ff7827c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2161565Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#67372}
-
Amy Huang authored
error when "r7" is used (starting in commit d85b3877) Bug: chromium:1073270 Change-Id: I7ec8112f170b98d2edaf92bc9341e738f8de07a3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2163435Reviewed-by: Nico Weber <thakis@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Nico Weber <thakis@chromium.org> Cr-Commit-Position: refs/heads/master@{#67371}
-
Ng Zhi An authored
If module bytes end in a prefix like 0xfc (numeric prefix), we read out of bounds (pc + 1). So, if validate flag is set, check the length. Bug: chromium:1073553 Change-Id: Ia9771419d01f2315723d19dd96630172b5a7a1f5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2161404Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#67370}
-
Milad Farazmand authored
Port c47d1631 R=zhiguo.zhou@intel.com, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: I126b610d69234c0eaa5599978a5fd25223b657c5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2164945Reviewed-by: Junliang Yan <jyan@ca.ibm.com> Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#67369}
-
Etienne Pierre-doray authored
The impl works by posting up to NumberOfWorkerThreads() tasks with CallOnWorkerThread(). Change-Id: I188ac57c9e5d6e3befdcc6f945fbf337dabe1d1d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2130886 Commit-Queue: Etienne Pierre-Doray <etiennep@chromium.org> Reviewed-by: Gabriel Charette <gab@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#67368}
-
Clemens Backes authored
This is the last cctest that uses the interpreter for debugging. This CL moves it over to Liftoff. R=jkummerow@chromium.org Bug: v8:10389 Change-Id: I1791f0c762c9aab38eee5f5fb96772f4d01c212f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2164790Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#67367}
-
Mythri A authored
With --trace-maps, we log all maps in the heap at the end of bootstrapping. LogAllMaps scans through the heap and logs a map-create even for all the maps in the heap. This cl updates this function to also look for maps in the read only space. Change-Id: I50025a909691be8dca3455c0583a0392b4756aef Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2162725Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Mythri Alle <mythria@chromium.org> Cr-Commit-Position: refs/heads/master@{#67366}
-
Camillo Bruni authored
Unify error handling for errors in CallWithSpread Bytecode and thus fix source location mismatches. Bug: v8:10378 Change-Id: If224cd34f1306492059dbedd8d2ca5c0feee5658 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2162856Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#67365}
-
Leszek Swirski authored
asm-to-wasm doesn't support off-thread finalization, so disable it if an asm compilation job is successfully executed. Note that in the future, we could instead have a hybrid off-thread and main-thread finalization for mixed JS and asm.js scripts, but for now that's probably unncecessary. Bug: chromium:1011762 Change-Id: I52c8f31fa13790e03ccf3196dbef471bca387bc5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2110017 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#67364}
-
Leszek Swirski authored
Moves the Script line-end initialization for profiling out of CreateScript and into FinalizeScriptCompilation. This ensures that scripts created off-thread still get line-ends when necessary. Bug: chormium:1011762 Change-Id: If16ad17b2b3ec96908420107bd5f9161eab9492f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2122020 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#67363}
-
Leszek Swirski authored
Parallel tasks have to be resolved to their SharedFunctionInfos on the main thread, so do so for off-thread finalizations. Bug: chromium:1011762 Change-Id: I1f0c510630b820cad191db614960ed734218bf0e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2110018 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#67362}
-
Timothy Gu authored
This is a reland of 29c1eab9 Original change's description: > [builtins] Clean up the use of class_name / ES5 [[Class]] > > Before ES2015, the ES spec had a [[Class]] internal slot for all > objects, which Object.prototype.toString() would use to figure the > returned string. Post-ES2015, the [[Class]] slot was removed in spec for > all objects, with the @@toStringTag well-known symbol the proper way to > change Object.prototype.toString() output. > > At the time, spec-identical handling without the use of [[Class]] was > implemented in V8 for all objects other than API objects, where issues > with the Web IDL spec [1] prevented Blink, and hence V8, to totally > migrate to @@toStringTag. However, since 2016 [2] Blink has been setting > @@toStringTag on API class prototypes to manage the > Object.prototype.toString() output, so the legacy [[Class]] handling in > V8 has not been necessary for the past couple of years. > > This CL removes the remaining legacy [[Class]] handling in > Object.prototype.toString(), JSReceiver::class_name(), and > GetConstructorName(). However, it does not remove the class_name field > in FunctionTemplateInfo, as it is still used for the `name` property of > created functions. > > This CL also cleans up other places in the codebase that still reference > [[Class]]. > > This change should have minimal impact on web-compatibility. For the > change to be observable, a script must do one of the following: > > 1. delete APIConstructor.prototype[Symbol.toStringTag]; > 2. Object.setPrototypeOf(apiObject, somethingElse); > > Before this CL, these changes will not change the apiObject.toString() > output. But after this CL, they will make apiObject.toString() show > "[object Object]" (in the first case) or the @@toStringTag of the other > prototype (in the latter case). > > However, both are deemed unlikely. @@toStringTag is not well-known > feature of JavaScript, nor does it get tampered much on API > constructors. In the second case, setting the prototype of an API object > would effectly render the object useless, as all its methods (including > property getters/setters) would no longer be accessible. > > Currently, @@toStringTag-based API object branding is not yet > implemented by other browsers. This V8 bug in particular has been an > impediment to standardizing toString behavior. Fixing this bug will > unblock [3] and lead to a better Web IDL spec, and better toString() > compatibility for all. > > [1]: https://www.w3.org/Bugs/Public/show_bug.cgi?id=28244 > [2]: https://crrev.com/909c0d7d5a53c8526ded351683c65ea7d17531d4 > [3]: https://github.com/heycam/webidl/pull/357 > > Bug: chromium:793406 > Cq-Include-Trybots: luci.chromium.try:linux-rel > Change-Id: Iceded24e37afa2646ec385d5018909f55b177f93 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2146996 > Commit-Queue: Timothy Gu <timothygu@chromium.org> > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > Cr-Commit-Position: refs/heads/master@{#67327} Bug: chromium:793406 Change-Id: Ia5d97bd4e1c44cadc6f18a17ffc9d06b038cf8f1 Cq-Include-Trybots: luci.chromium.try:linux-rel Cq-Include-Trybots: luci.v8.try:v8_linux_blink_rel Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2163881 Auto-Submit: Timothy Gu <timothygu@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#67361}
-
Clemens Backes authored
The cctests for breakpoints were still executing in the interpreter. This CL moves them over to Liftoff. Note that the additional methods on {DebugInfo} will be reused for other purposes, see https://crrev.com/c/1941139. R=jkummerow@chromium.org Bug: v8:10389 Change-Id: Ia88150612377d6e7db0514af1efe091124b3ddce Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2162852Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#67360}
-
Zhao Jiazhong authored
Port c47d1631 https://crrev.com/c/2158925 Change-Id: Ib1c494c93acfb5d19890427e6ea73202915675df Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2162415Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn> Cr-Commit-Position: refs/heads/master@{#67359}
-
Frank Tang authored
Bug: v8:7834 Change-Id: I9fbcca612db3df6698ebb63bae90b7943e38d48d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2163819Reviewed-by: Maya Lekova <mslekova@chromium.org> Auto-Submit: Frank Tang <ftang@chromium.org> Commit-Queue: Frank Tang <ftang@chromium.org> Cr-Commit-Position: refs/heads/master@{#67358}
-
Leszek Swirski authored
Currently, there is no indication of memory pressure after merging pages from off-thread space into the heap. This can mean that with lots of off-thread compilations, we eventually run out of pages in the memory allocator. Now, trigger a critical memory pressure notification after merging if the old generation is close to being unexpandable. We may want to add other heuristics here (e.g. moderate memory pressure if the heap is highly fragmented), or possibly add similar checks when the off-thread space is initialized, but this works for now. As a drive-by, inline the NotifyOffThreadSpaceMerged call into the off-thread factory merge -- we already do a bunch of special merging stuff in there, and nowhere else, so we may as well be explicit in what we're actually doing. This also allows us to do a pre-check on old-space size and hard limits just before the merge. Bug: chromium:1011762 Change-Id: Ic2b46057cf751bd7eaf787f46beaaf4df36e78fe Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2131915 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#67357}
-