- 22 Nov, 2021 2 commits
-
-
Marja Hölttä authored
Bug: v8:11111 Change-Id: Ice66accee734484302d499b8098056ae1c68faf3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3259648 Commit-Queue: Marja Hölttä <marja@chromium.org> Reviewed-by:
Shu-yu Guo <syg@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/main@{#78028}
-
Frank Tang authored
Reduce unnecessary size during development Bug: chromium:1260432 Change-Id: I690e511900abf0f8218f6ece8a5d1f144947b584 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3292484Reviewed-by:
Clemens Backes <clemensb@chromium.org> Reviewed-by:
Shu-yu Guo <syg@chromium.org> Commit-Queue: Frank Tang <ftang@chromium.org> Cr-Commit-Position: refs/heads/main@{#78027}
-
- 18 Nov, 2021 2 commits
-
-
Junliang Yan authored
Change-Id: Ibd3ba4cd1edc174fdfaa826b8a6f7731f4627365 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3289932Reviewed-by:
Milad Fa <mfarazma@redhat.com> Commit-Queue: Junliang Yan <junyan@redhat.com> Cr-Commit-Position: refs/heads/main@{#77984}
-
Patrick Thier authored
Raise an exception if CallFunction is invoked with a class constructor. The check was initially removed in [1] but there are cases where we could end in CallFunction with class constructors from optimized code. [1] https://crrev.com/c/3186434 Bug: chromium:1271384 Change-Id: I0d700c4b1d117334c1c4c14719e24cd1f2c5e3a2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3291313 Commit-Queue: Patrick Thier <pthier@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/main@{#77967}
-
- 17 Nov, 2021 1 commit
-
-
Tobias Tebbi authored
This fast path works for ASCII-only strings and is similar to the existing fast-path in C++. Important differences: - The locale check is done at Turbofan optimization time instead of at runtime - Use tables of size 256 instead of 128 to save a bounds-check when handling one-byte strings. - It first performs an equality check that's optimized for detecting inequality quickly by comparing the strings from both ends. If the equality check succeeds, we are done. Otherwise chances are high that the strings differ according to collation level L1 already. Therefore, we first do an L1 check and perform the L3 check only when L1 didn't find a difference. This is based on the assumption that few strings are identical except for different capitalization. - Use the Torque version of string flattening instead of the runtime version. Bug: v8:12196 Change-Id: I2d043c1138846783f6d567b736d34063ba9301e5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3268465Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/main@{#77946}
-
- 16 Nov, 2021 1 commit
-
-
Ng Zhi An authored
Bug: v8:12244,v8:12245 Change-Id: Id74afa611b2b8556ef86c715497b6daddc8ea7a0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3276931Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Omer Katz <omerkatz@chromium.org> Reviewed-by:
Marja Hölttä <marja@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/main@{#77928}
-
- 15 Nov, 2021 3 commits
-
-
Ng Zhi An authored
Bug: v8:12244,v8:12245 Change-Id: I5fdc754432c7f619f4a32f92eb2da81beb23e8ce Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3278689Reviewed-by:
Igor Sheludko <ishell@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/main@{#77910}
-
Milad Fa authored
Port: 255aaed9 Original Commit Message: The receiver is now always included in the actual argument count and the formal parameter count. kDontAdaptArgumentsSentinel is changed from UINT16_MAX to 0 to preserve the maximum allowed declared parameters. The build flag activating the changes is not set for any architecture yet. Bug: v8:11112 Change-Id: Ib106775014a886da80684dcb83ed704bb898a244 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3271635Reviewed-by:
Junliang Yan <junyan@redhat.com> Reviewed-by:
Patrick Thier <pthier@chromium.org> Commit-Queue: Milad Fa <mfarazma@redhat.com> Cr-Commit-Position: refs/heads/main@{#77907}
-
Ng Zhi An authored
Bug: v8:12244,v8:12245 Change-Id: I3029cfb8e9afdcb5e53aa406359aa7246c23ea40 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3274021Reviewed-by:
Maya Lekova <mslekova@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Dominik Inführ <dinfuehr@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/main@{#77906}
-
- 12 Nov, 2021 4 commits
-
-
Igor Sheludko authored
The entered contexts stack must be in sync with the flags stack. Bug: chromium:1269225 Change-Id: Ibb522286b47866d5f13aaec1a0a02914c13a5545 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3279680 Commit-Queue: Igor Sheludko <ishell@chromium.org> Commit-Queue: Shu-yu Guo <syg@chromium.org> Auto-Submit: Igor Sheludko <ishell@chromium.org> Reviewed-by:
Shu-yu Guo <syg@chromium.org> Cr-Commit-Position: refs/heads/main@{#77882}
-
Junliang Yan authored
Change-Id: I8cd279059800567a81d8586944c8ed4c0ef9fa92 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3279101Reviewed-by:
Milad Fa <mfarazma@redhat.com> Commit-Queue: Junliang Yan <junyan@redhat.com> Cr-Commit-Position: refs/heads/main@{#77879}
-
Ng Zhi An authored
Bug: v8:12244,v8:12245 Change-Id: I02e08e79a7b3a07531bfac753beff13a866247e8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3269170Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/main@{#77878}
-
Thibaud Michaud authored
Switching stack affects all instances, therefore make the active continuation a root object instead of an instance field. Bug: v8:12191 Change-Id: Ia521bf4e7c3cbca035f916e47804c2f75bbd8f18 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3268296Reviewed-by:
Andreas Haas <ahaas@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/main@{#77876}
-
- 10 Nov, 2021 4 commits
-
-
Junliang Yan authored
Change-Id: Id60f3552af2ba12a8ac8fd88ad43a88a9076774d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3272582Reviewed-by:
Milad Fa <mfarazma@redhat.com> Commit-Queue: Junliang Yan <junyan@redhat.com> Cr-Commit-Position: refs/heads/main@{#77826}
-
Junliang Yan authored
Change-Id: I48384ff3282e32108cc439bdb56097ca59bedefb Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3270002Reviewed-by:
Milad Fa <mfarazma@redhat.com> Commit-Queue: Junliang Yan <junyan@redhat.com> Cr-Commit-Position: refs/heads/main@{#77825}
-
Camillo Bruni authored
Directly memcpy char* literals if they fit in the current pending part. This avoids incremental checks for the current part size. This will improve JSON.stringify for objects with lots of true, false, null values by roughly 10%; Drive-by-fix: - Improve JSON.stringify for empty [] and {} - Add IncrementalStringBuilder::NoExtend DECHECKs Bug: v8:12195 Change-Id: I81ebc9e088cf983adbcfb2d768137e4a3cef9a7a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3260524Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/main@{#77817}
-
Dominik Inführ authored
V8's write barrier doesn't use a store buffer anymore but inserts directly into the remembered set. However, there were still some comments/method definitions left. Bug: v8:9454 Change-Id: Ic3bc3394750f1d4989027e07dbc9201c3f484ccd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3270536Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/main@{#77814}
-
- 09 Nov, 2021 2 commits
-
-
Simon Zünd authored
This CL fixes a memory leak where we would not properly pop all Promises from the Isolate-wide Promise stack. This can happen under the following conditions: - `await`ing a Promise in an async function - Debugger is active - AsyncEventDelegate is not set. In the case above, the promise of the surrounding async function is pushed onto the global Promise stack, but not poped before the await. This CL fixes that. R=bmeurer@chromium.org Fixed: chromium:1225905 Change-Id: If03f6bfda48b8cb14bc6a68815fd702632edc68d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3268464Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Commit-Queue: Simon Zünd <szuend@chromium.org> Cr-Commit-Position: refs/heads/main@{#77790}
-
Ng Zhi An authored
Bug: v8:12244,v8:12245 Change-Id: I7de616f87dcec7ebaa51af10390c2685650633d0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3266004Reviewed-by:
Anton Bikineev <bikineev@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/main@{#77781}
-
- 08 Nov, 2021 4 commits
-
-
Junliang Yan authored
Change-Id: Ib13761e9336e67cc2fc218c3a6e9193330fdfd45 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3268937Reviewed-by:
Milad Fa <mfarazma@redhat.com> Commit-Queue: Junliang Yan <junyan@redhat.com> Cr-Commit-Position: refs/heads/main@{#77778}
-
Thibaud Michaud authored
And make the GC visit spilled references in the frame. R=ahaas@chromium.org CC=fgm@chromium.org Bug: v8:12191 Change-Id: Ida430f12a6de7658972e7890542fb02f7f7ddbb1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3226784 Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/main@{#77763}
-
Igor Sheludko authored
This CL * adds forwarding accessors to CodeDataContainer for certain widely used Code object's fields and predicates, * adds JSFunction::set_code() overloads accepting CodeT values, * migrates SharedFunctionInfo getters to CodeT, * migrates InterpreterData::interpreter_trampoline to CodeT. Drive-by-fix: replace #if V8_EXTERNAL_CODE_SPACE with #ifdef to be consistent. Bug: v8:11880 Change-Id: I1e114076a0568068038ca6f70a86431a3a9cfb9f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3262716 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/main@{#77762}
-
Igor Sheludko authored
Bug: v8:11880 Change-Id: I53166b226c29a9244b047431e0830de109975306 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3262128Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/main@{#77760}
-
- 05 Nov, 2021 1 commit
-
-
Victor Gomes authored
CodeSpaceMemoryModificationScope should only be used by the main thread and during a safepoint. This adds a check in CodeSpaceMemoryModificationScope. The reason for this is that CodeSpaceMemoryModificationScope is not thread-safe. It assumes that no other thread is modifying code space (either by setting memory permission or adding a new page). This CL also replaces CodeSpaceMemoryModificationScope to CodePageCollectionMemoryModificationScope in a few occurrences, where the former is not needed. This should not hurt performance. Bug: v8:12054 Change-Id: I2675e667782c6ad8410877a4e64374899066bcd1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3263890 Commit-Queue: Victor Gomes <victorgomes@chromium.org> Reviewed-by:
Dominik Inführ <dinfuehr@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/main@{#77732}
-
- 04 Nov, 2021 1 commit
-
-
Michael Lippautz authored
LayoutDescriptor has been removed some time ago. Change-Id: I8aa16fcd82be098c9bfd439decef8147514587d0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3260515 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Auto-Submit: Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/main@{#77710}
-
- 03 Nov, 2021 4 commits
-
-
Igor Sheludko authored
Bug: v8:11880 Change-Id: Iffebca251d18d5637884b2181acdfb3e6c5496a0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3257715Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/main@{#77682}
-
Igor Sheludko authored
Bug: v8:11880 Change-Id: Ib0997ca8cedaf1065fc6803d5297c30621b49949 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3257714Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/main@{#77680}
-
Georgia Kouveli authored
`UseScratchRegisterScope` should be used in a block scope, to avoid keeping the scratch register in use for longer than it's needed. Spotted when experimenting with the `v8_enable_heap_sandbox` and `v8_enable_external_code_space` flags. Change-Id: I34330f3e4dbd114aa75efb0ebdcf557f0bd45f11 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3256997Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Georgia Kouveli <georgia.kouveli@arm.com> Cr-Commit-Position: refs/heads/main@{#77679}
-
Igor Sheludko authored
In order to avoid some of the unnecessary Code <-> CodeDataContainer conversions in builtins we need to be able to embed CodeDataContainer references to builtins. This CL makes it possible by introducing a table of builtins' CDCs. Eventually, usages of the builtins table containing Code objects will be replaced by usages of this table. Bug: v8:11880 Change-Id: Iffffd1507d5c7b38af34c42071a4577a8d18e8eb Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3257710Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Auto-Submit: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/main@{#77678}
-
- 02 Nov, 2021 4 commits
-
-
Jakob Kummerow authored
When a Promise-Reject handler throws an unhandled exception, we should use that promise's context for reporting the exception to the runtime. This avoids a null-pointer deref. Fixed: chromium:1263994 Change-Id: I3792a1884af4a83991249d612caf15588ea77dad Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3250912 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Auto-Submit: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/main@{#77652}
-
Marja Hölttä authored
Bug: v8:11111 Change-Id: Icefaa3f1090f9b41dc7837e3a95bbfd633703757 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3251179Reviewed-by:
Shu-yu Guo <syg@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/main@{#77650}
-
Manos Koukoutos authored
Design doc: https://bit.ly/3jEVgzz Summary: We change the context for WasmJSFunction and WasmCapiFunction from a tuple containing the instance to a triple WasmAPIFunctionRef = {isolate root, context, callable}. This way we do not have to maintain the correct instance at runtime. Also, a few places in the code get simplified. Changes: - In WasmGraphBuilder, support having a WasmAPIFunctionRef at parameter 0. - Remove unpacking of (instance, callable) tuple from code generators. - Remove the part in WasmGraphBuilder and LiftoffCompiler that used to set the instance field of the function reference. - Modify code that handles the 'ref' field in wasm-objects.*, factory.* and c-api.cc. - Fix the recorded safepoint address for arm when calling a C function from wasm. - (Drive-by) Remove WasmAllocatePair. Bug: v8:11510 Change-Id: I2a4ef3abaf9da36c4a2d85b434965a40a289b9ec Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3236719 Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/main@{#77639}
-
Lu Yahan authored
Port e127f584 Change-Id: Id0eb9205c3e94cb504340110ff6a42bc94a80cc1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3251133 Auto-Submit: Yahan Lu <yahan@iscas.ac.cn> Reviewed-by:
ji qiu <qiuji@iscas.ac.cn> Commit-Queue: Yahan Lu <yahan@iscas.ac.cn> Cr-Commit-Position: refs/heads/main@{#77634}
-
- 01 Nov, 2021 1 commit
-
-
Milad Fa authored
Port: 89933af6 Bug: v8:11112 Change-Id: I59d5cf363e427e7e5157be8c9eb033a11614fad1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3251587Reviewed-by:
Junliang Yan <junyan@redhat.com> Commit-Queue: Milad Fa <mfarazma@redhat.com> Cr-Commit-Position: refs/heads/main@{#77630}
-
- 29 Oct, 2021 2 commits
-
-
Thibaud Michaud authored
This is done in a separate runtime function call for now, so that we can update the limit under the ExecutionAcess lock. Also set the thread-in-wasm flag before calling the wasm function. R=ahaas@chromium.org CC=fgm@chromium.org Bug: v8:12191 Change-Id: I914856bc261fa0f75e93620bc6597bd28bec0695 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3250902Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/main@{#77613}
-
Liu Yu authored
Port commit b9a6301e Change-Id: Ibc45a348fc5cca937a0663f8950877ee54cf5eb3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3239380 Auto-Submit: Liu yu <liuyu@loongson.cn> Reviewed-by:
Zhao Jiazhong <zhaojiazhong-hf@loongson.cn> Commit-Queue: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn> Cr-Commit-Position: refs/heads/main@{#77612}
-
- 28 Oct, 2021 1 commit
-
-
Tobias Tebbi authored
This is a reland of 45227ffd Differences: - Handle one more flags conflict in variants.py. - Disallow %VerifyType without --concurrent-recompilation. Original change's description: > [turbofan] extend type asserts to cover all JS types > > Extend type assertions to all types covering JavaScript values. > This is achieved by allocating type representations on the heap using > newly defined HeapObject subclasses. To allocate these in the compiler, > we disable concurrent compilation for the --assert-types flag for now. > > Fix two type errors that came up with the existing tests: > 1. JSCreateKeyValueArray has type Array (i.e., a JSArray) instead of > OtherObject. > 2. OperationTyper::NumberToString(Type) can type the result as the > HeapConstant Factory::zero_string(). However, NumberToString does > not always produce this string. To avoid regressions, the CL keeps > the HeapConstant type and changes the runtime and builtin code to > always produce the canonical "0" string. > > A few tests were failing because they check for truncations to work > and prevent deoptimization. However, AssertType nodes destroy all > truncations (which is by design), so these tests are incompatible > and now disabled for the assert_types variant. > > Drive-by fix: a few minor Torque issues that came up. > > Change-Id: If03b7851f7e6803a2f69edead4fa91231998f764 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3234717 > Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> > Reviewed-by: Omer Katz <omerkatz@chromium.org> > Commit-Queue: Tobias Tebbi <tebbi@chromium.org> > Cr-Commit-Position: refs/heads/main@{#77565} Change-Id: I5b3c6745c6ad349ff8c2b199d9afdf0a9b5a7392 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3247035 Auto-Submit: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Nico Hartmann <nicohartmann@chromium.org> Reviewed-by:
Omer Katz <omerkatz@chromium.org> Reviewed-by:
Nico Hartmann <nicohartmann@chromium.org> Cr-Commit-Position: refs/heads/main@{#77596}
-
- 27 Oct, 2021 3 commits
-
-
Igor Sheludko authored
... to Builtins class. Bug: v8:12244, v8:11880 Change-Id: Ia96e476b904618b5fc45d2e401cedc2f67e36e7d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3245346Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/main@{#77571}
-
Maya Lekova authored
This reverts commit 45227ffd. Reason for revert: Breaks on gc_stress mode, see https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Linux%20-%20gc%20stress/35988/overview Original change's description: > [turbofan] extend type asserts to cover all JS types > > Extend type assertions to all types covering JavaScript values. > This is achieved by allocating type representations on the heap using > newly defined HeapObject subclasses. To allocate these in the compiler, > we disable concurrent compilation for the --assert-types flag for now. > > Fix two type errors that came up with the existing tests: > 1. JSCreateKeyValueArray has type Array (i.e., a JSArray) instead of > OtherObject. > 2. OperationTyper::NumberToString(Type) can type the result as the > HeapConstant Factory::zero_string(). However, NumberToString does > not always produce this string. To avoid regressions, the CL keeps > the HeapConstant type and changes the runtime and builtin code to > always produce the canonical "0" string. > > A few tests were failing because they check for truncations to work > and prevent deoptimization. However, AssertType nodes destroy all > truncations (which is by design), so these tests are incompatible > and now disabled for the assert_types variant. > > Drive-by fix: a few minor Torque issues that came up. > > Change-Id: If03b7851f7e6803a2f69edead4fa91231998f764 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3234717 > Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> > Reviewed-by: Omer Katz <omerkatz@chromium.org> > Commit-Queue: Tobias Tebbi <tebbi@chromium.org> > Cr-Commit-Position: refs/heads/main@{#77565} Change-Id: Ia779a11fc811846194c7a8d1e40b372b265e7ea4 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3247034 Auto-Submit: Maya Lekova <mslekova@chromium.org> Owners-Override: Maya Lekova <mslekova@chromium.org> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Cr-Commit-Position: refs/heads/main@{#77566}
-
Tobias Tebbi authored
Extend type assertions to all types covering JavaScript values. This is achieved by allocating type representations on the heap using newly defined HeapObject subclasses. To allocate these in the compiler, we disable concurrent compilation for the --assert-types flag for now. Fix two type errors that came up with the existing tests: 1. JSCreateKeyValueArray has type Array (i.e., a JSArray) instead of OtherObject. 2. OperationTyper::NumberToString(Type) can type the result as the HeapConstant Factory::zero_string(). However, NumberToString does not always produce this string. To avoid regressions, the CL keeps the HeapConstant type and changes the runtime and builtin code to always produce the canonical "0" string. A few tests were failing because they check for truncations to work and prevent deoptimization. However, AssertType nodes destroy all truncations (which is by design), so these tests are incompatible and now disabled for the assert_types variant. Drive-by fix: a few minor Torque issues that came up. Change-Id: If03b7851f7e6803a2f69edead4fa91231998f764 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3234717Reviewed-by:
Nico Hartmann <nicohartmann@chromium.org> Reviewed-by:
Omer Katz <omerkatz@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/main@{#77565}
-