- 19 Mar, 2020 15 commits
-
-
Ng Zhi An authored
Bug: v8:9909 Change-Id: Ica1cb36e7e071e5755009d57a0f03080b74bbf8e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2108743Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#66795}
-
David Manouchehri authored
Bug: chromium:1062763 Change-Id: I70d44f2db06b5ec1d84ab6678582dfc559d47e7e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2108729 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Auto-Submit: David Manouchehri <david@davidmanouchehri.com> Cr-Commit-Position: refs/heads/master@{#66794}
-
Ng Zhi An authored
Implement i8x16.bitmask, i16x8.bitmask, i32x4.bitmask on interpreter and arm64. These operations are behind wasm_simd_post_mvp flag, as we are only prototyping to evaluate performance. The codegen is based on guidance at https://github.com/WebAssembly/simd/pull/201. Bug: v8:10308 Change-Id: I835aa8a23e677a00ee7897c1c31a028850e238a9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2099451Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#66793}
-
Andreas Haas authored
This CL introduces a CSA builtin for the TableInit instruction. This builtin allows to generate smaller code for both TurboFan and Liftoff, and easier code generation from Liftoff. The smaller code size comes from: * Parameters are passed through registers, not the stack. * Lower number of parameters: the call target, number of parameters, and context are not passed as parameters. * No int to smi conversion in generated code. The CL also introduces a small CSA function which takes an uint32 value and a max value as parameters and returns a Smi of the minimum of these two. R=clemensb@chromium.org, ishell@chromium.org Bug: v8:10281 Change-Id: I40f248c20ec76e6ae9483a5e2907a68f42f2cb04 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2106201 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#66792}
-
Clemens Backes authored
Add some more code comments for code snippets that are not obvious, especially if debug code is enabled. The comments help when looking at Liftoff code for debugging code generation issues. R=thibaudm@chromium.org Change-Id: I566bf2b05a454fb8addc030359969d36cb2cb707 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2108557Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#66791}
-
Clemens Backes authored
1) Replace a condition by a DCHECK. 2) Remove dead argument. R=thibaudm@chromium.org Bug: v8:10321 Change-Id: I546d18e7e5520630ab32b4f73f9fe12b0441cb95 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2108556Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#66790}
-
Clemens Backes authored
Update the "hook on function call" flag also in the wasm case, and slightly change the {IsStepping} logic to stop in any frame if the last step action was anything other than StepNext. In future CLs, this has to be extended further for StepOut and for StepOver at a return location. When that is done, we can also reenable more stepping in the test. R=thibaudm@chromium.org Bug: v8:10321 Change-Id: Ib3aa8c2c2e137690140e5879a33e2bcc340821e3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2108035 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by: Simon Zünd <szuend@chromium.org> Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/master@{#66789}
-
Daniel Bevenius authored
Currently, when GeneratePrintDefinitionsForClass generates its Print functions it uses a string literal as the newline character for all the last lines. For example: void TorqueGeneratedStruct<Struct, HeapObject>::StructPrint( std::ostream& os) { this->PrintHeader(os, "TorqueGeneratedStruct"); os << "\n"; } The last line could use a single character instead of a string, for example: void TorqueGeneratedStruct<Struct, HeapObject>::StructPrint( std::ostream& os) { this->PrintHeader(os, "TorqueGeneratedStruct"); os << '\n'; } The commit suggests changing this into a char. Change-Id: Id7a2f5fb17108fcbb543109d18b6b474ac1c5d2d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2108546Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#66788}
-
Philip Pfaffe authored
This implements the first part of WebAssembly debug evaluate. The patch includes the foundation required to execute evaluator modules. It only implements the first of the APIs of the evaluator module spec. Bug: chromium:1020120 Change-Id: I06ec98a63d0a0ec8d81c2eac4319c4b85d3e16c1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2089936 Commit-Queue: Philip Pfaffe <pfaffe@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#66787}
-
Leszek Swirski authored
This reverts commit e80ca24c. Reason for revert: Causes failures in the fast/regex/non-pattern-characters.html Blink web test (https://ci.chromium.org/p/v8/builders/ci/V8%20Blink%20Linux/3679) Original change's description: > [regexp] Rewrite error handling > > This patch modifies irregexp's error handling. Instead of representing > errors as C strings, they are represented as an enumeration value > (RegExpError), and only converted to strings when throwing the error > object in regexp.cc. This makes it significantly easier to integrate > into SpiderMonkey. A few notes: > > 1. Depending on whether the stack overflows during parsing or > analysis, the stack overflow message can vary ("Stack overflow" or > "Maximum call stack size exceeded"). I kept that behaviour in this > patch, under the assumption that stack overflow messages are > (sadly) the sorts of things that real world code ends up depending > on. > > 2. Depending on the point in code where the error was identified, > invalid unicode escapes could be reported as "Invalid Unicode > escape", "Invalid unicode escape", or "Invalid Unicode escape > sequence". I fervently hope that nobody depends on the specific > wording of a syntax error, so I standardized on the first one. (It > was both the most common, and the most consistent with other > "Invalid X escape" messages.) > > 3. In addition to changing the representation, this patch also adds an > error_pos field to RegExpParser and RegExpCompileData, which stores > the position at which an error occurred. This is used by > SpiderMonkey to provide more helpful messages about where a syntax > error occurred in large regular expressions. > > 4. This model is closer to V8's existing MessageTemplate > infrastructure. I considered trying to integrate it more closely > with MessageTemplate, but since one of our stated goals for this > project was to make it easier to use irregexp outside of V8, I > decided to hold off. > > R=jgruber@chromium.org > > Bug: v8:10303 > Change-Id: I62605fd2def2fc539f38a7e0eefa04d36e14bbde > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2091863 > Commit-Queue: Jakob Gruber <jgruber@chromium.org> > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Cr-Commit-Position: refs/heads/master@{#66784} TBR=jgruber@chromium.org,iireland@mozilla.com Change-Id: I9247635f3c5b17c943b9c4abaf82ebe7b2de165e No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:10303 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2108550Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#66786}
-
Emanuel Ziegler authored
Ported changes from the following CLs to mips/mips64: - https://chromium-review.googlesource.com/c/v8/v8/+/2066964 - https://chromium-review.googlesource.com/c/v8/v8/+/2071866 - https://chromium-review.googlesource.com/c/v8/v8/+/2080242 This change is needed for profiling of Wasm code that calls C-function to ignore the C-stack above the Wasm stack that otherwise couldn't be parsed otherwise. Bug: chromium:1045860 Change-Id: Ifdce5be6c5373714a67b3ce8d8c4f0a18f63b6fa Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2082566Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Emanuel Ziegler <ecmziegler@chromium.org> Cr-Commit-Position: refs/heads/master@{#66785}
-
Iain Ireland authored
This patch modifies irregexp's error handling. Instead of representing errors as C strings, they are represented as an enumeration value (RegExpError), and only converted to strings when throwing the error object in regexp.cc. This makes it significantly easier to integrate into SpiderMonkey. A few notes: 1. Depending on whether the stack overflows during parsing or analysis, the stack overflow message can vary ("Stack overflow" or "Maximum call stack size exceeded"). I kept that behaviour in this patch, under the assumption that stack overflow messages are (sadly) the sorts of things that real world code ends up depending on. 2. Depending on the point in code where the error was identified, invalid unicode escapes could be reported as "Invalid Unicode escape", "Invalid unicode escape", or "Invalid Unicode escape sequence". I fervently hope that nobody depends on the specific wording of a syntax error, so I standardized on the first one. (It was both the most common, and the most consistent with other "Invalid X escape" messages.) 3. In addition to changing the representation, this patch also adds an error_pos field to RegExpParser and RegExpCompileData, which stores the position at which an error occurred. This is used by SpiderMonkey to provide more helpful messages about where a syntax error occurred in large regular expressions. 4. This model is closer to V8's existing MessageTemplate infrastructure. I considered trying to integrate it more closely with MessageTemplate, but since one of our stated goals for this project was to make it easier to use irregexp outside of V8, I decided to hold off. R=jgruber@chromium.org Bug: v8:10303 Change-Id: I62605fd2def2fc539f38a7e0eefa04d36e14bbde Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2091863 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#66784}
-
Leszek Swirski authored
This reverts commit d91679bf. Reason for revert: Seems to cause UBSan errors Original change's description: > [parser] Introduce UnoptimizedCompileFlags > > UnoptimizedCompileFlags defines the input flags shared between parse and > compile (currently parse-only). It is set initially with some values, and > is immutable after being passed to ParseInfo (ParseInfo still has getters > for the fields, but no setters). > > Since a few of the existing flags were output flags, ParseInfo now has a > new output_flags field, which will eventually migrate to a ParseOutputs > structure. > > Bug: v8:10314 > Change-Id: If3890a5fad883bca80a97bf9dfe44d91797dc286 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2096580 > Commit-Queue: Leszek Swirski <leszeks@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Reviewed-by: Simon Zünd <szuend@chromium.org> > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> > Cr-Commit-Position: refs/heads/master@{#66782} TBR=ulan@chromium.org,rmcilroy@chromium.org,leszeks@chromium.org,szuend@chromium.org Change-Id: Ica139e8862e00cd0560638a0236bbaccd7b2188c No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:10314 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2108548Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#66783}
-
Leszek Swirski authored
UnoptimizedCompileFlags defines the input flags shared between parse and compile (currently parse-only). It is set initially with some values, and is immutable after being passed to ParseInfo (ParseInfo still has getters for the fields, but no setters). Since a few of the existing flags were output flags, ParseInfo now has a new output_flags field, which will eventually migrate to a ParseOutputs structure. Bug: v8:10314 Change-Id: If3890a5fad883bca80a97bf9dfe44d91797dc286 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2096580 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Simon Zünd <szuend@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#66782}
-
v8-ci-autoroll-builder authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/44de6a6..9b1394c Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/42d02fb..8413a03 Rolling v8/third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools/+log/a30b7bd..464e9ff TBR=machenbach@chromium.org,tmrts@chromium.org Change-Id: Ibfb16f9a6ca42a16fa40f6534d77bbe6e4ef5c39 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2109202Reviewed-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@{#66781}
-
- 18 Mar, 2020 25 commits
-
-
Milad Farazmand authored
"I64x2Eq", "S1x2AnyTrue" and "S1x2AllTrue" do not yet have lowering implemented hence some of the test case may fail on s390x hardware without AVX support. Change-Id: Ice01bcaed78950fbad36e2ba37c8f7ae5d10b59b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2107763Reviewed-by: Zhi An Ng <zhin@chromium.org> Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#66780}
-
Ng Zhi An authored
This optimizes i8x16 shifts when the shift value is constant. It brings generated instruction counts down from 10 to 6 (unsigned), and 9 to 5 (signed). For Signed, we use a word (16-bit) shift, then mask away the high (shru) or low (shl) bits to achieve a byte shift. Most of the instructions are dedicated to building the mask. Bug: v8:10115 Change-Id: I1d5c0e0fb779eeb7e0185d3cb7fd595837fd8daf Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2106293Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#66779}
-
Ng Zhi An authored
Bug: v8:10180 Change-Id: I700d10c82f6691bfc9a021fec120779c9d0a08e7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2107647Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#66778}
-
Ulan Degenbaev authored
The flag is old and is disabled by default. Change-Id: Ica1e4f3d7a9ec0e1130a8b097848251f9dc74ce0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2108727Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#66777}
-
Camillo Bruni authored
- normalize relative paths with parent segments - load .js and .mjs files automatically when using --fuzzy-module-file-extensions Change-Id: Iac56c6010f1b3450448b98247db88bfa96ae32ba Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2096629 Commit-Queue: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#66776}
-
Clemens Backes authored
Without the nops, the PC after the call might be the same as the PC of the next instruction, and we might emit two different source positions for the same PC. This will not be the final solution, see attached bug. R=thibaudm@chromium.org Bug: v8:10337 Change-Id: I8c893d8d7ad00684ec6e1bc7f6c00f649695029f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2108029 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/master@{#66775}
-
Clemens Backes authored
This extends the Liftoff function prologue in the debug case. It now checks the "hook on function call" flag, and if that flag is set, it triggers a breakpoint. The address of that flag is stored in the WasmInstanceObject for fast access. Drive-by: Add an output operator for ValueType, which helps with debugging. R=thibaudm@chromium.org Bug: v8:10321 Change-Id: I572de802815259ee0ef0df9b22ce30b510b4e30d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2106211Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#66774}
-
Liviu Rau authored
Bug: v8:10336 Change-Id: I46af204cd25b0e0d3a300e1449939f502b757d3c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2107842Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Liviu Rau <liviurau@chromium.org> Cr-Commit-Position: refs/heads/master@{#66773}
-
Zhao Jiazhong authored
Port ae03752f https://crrev.com/c/2102574 Original Commit Message: This implements inspection of live registers on breakpoints in Liftoff. To that end, the frame pointer of the WasmDebugBreak frame is remembered when iterating the stack. Based on a platform-specific implementation of {WasmDebugBreakFrameConstants}, the offset of the respective register within that frame is computed, and the value is read from the frame. As a drive-by, the wasm debug side table is storing register codes as liftoff codes, which can also store register pairs (needed for i64 on 32-bit platforms, and for SIMD, which is not supported yet). Change-Id: I88bcc5256e1a3b4447c727673178c41fbdd04df4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2105506 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#66772}
-
Leszek Swirski authored
Remove the wrapped arguments and outer scope info handles from ParseInfo, and instead infer them from the SharedFunctionInfo or Script, or in the case of eval pass it through to the parser as an argument. Bug: v8:10314 Change-Id: Ia1d1dbab5b62252e10fa2055f7e91f914324efd4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2106200 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Simon Zünd <szuend@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#66771}
-
Zhao Jiazhong authored
Port 3e1b6b40 https://crrev.com/c/2101129 Change-Id: Icc7198221f44f52c88b205947665898b6813cd8c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2107247 Auto-Submit: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn> Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#66770}
-
Milad Farazmand authored
Port 3e1b6b40 R=jing.bao@intel.com, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: I3f4837a896217dd3331b60e1477806d05f106c24 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2107727Reviewed-by: Junliang Yan <jyan@ca.ibm.com> Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#66769}
-
Georg Neis authored
"t.Is(Type::Unique())" is more conservative and future-proof than "!t.Maybe(Type::NumericOrString)". Change-Id: I7d08244802feeb062fd2f8a9d8f3af85eb43bba3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2106207 Commit-Queue: Georg Neis <neis@chromium.org> Auto-Submit: Georg Neis <neis@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#66768}
-
Liviu Rau authored
Bug: v8:10336 Change-Id: I96495489cf745aaa04a30675f6254c72b69d446f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2108025Reviewed-by: Tamer Tas <tmrts@chromium.org> Commit-Queue: Liviu Rau <liviurau@chromium.org> Cr-Commit-Position: refs/heads/master@{#66767}
-
Tobias Tebbi authored
As an escape hatch, add UnsafeConstCast() to still mutate the map field where necessary. Drive-by change: Refactor NewPromiseReactionJobTask to avoid unsafe allocation and map mutations. Bug: v8:7793 Change-Id: I90e06340c1cf048059b544f1c0a6f730f75d200c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2096675 Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> Cr-Commit-Position: refs/heads/master@{#66766}
-
Zhao Jiazhong authored
Port e47f9a9d https://crrev.com/c/2102570 Original Commit Message: The set of registers to spill was wrong. Instead of spilling wasm parameter registers (like the WasmCompileLazy builtin), we should spill all registers that are being used as Liftoff cache registers. This CL defines platform-specific WasmDebugBreakFrameConstants which hold the set of registers to spill. This set is used in the builtin, and will later be used for inspecting the spilled registers. In order to iterate bit sets more easily in both direction (MSB to LSB or LSB to MSB), we add a base::bits::IterateBits{,Backwards} method which provides the respective iterators. Change-Id: I1137a0b8bcb20d994bfc8662f0a938b627582fbd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2105495Reviewed-by: Clemens Backes <clemensb@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#66765}
-
Georg Neis authored
Bug: chromium:1062532 Change-Id: Iaac3103987a561ce519321276c623b5eb37ec830 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2108022 Commit-Queue: Georg Neis <neis@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Auto-Submit: Georg Neis <neis@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#66764}
-
Georg Neis authored
We don't ever want a node's type to become less precise. Also move a part of JSTypedLowering::ReduceJSStrictEqual that can be expressed solely in terms of types into the typer, where it generalizes an existing case. Change-Id: I37c58fed48f606f6fe34e98e5f066434e50cb6c1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2106204 Auto-Submit: Georg Neis <neis@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#66763}
-
Tobias Tebbi authored
To ensure good error messages, we do create bindings even for non-const fields but then add a new error message mechanism when accessing such a binding. Bug: v8:7793 Change-Id: I2f20483514660c5ce92202d301c631f6ac055446 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2096617 Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> Cr-Commit-Position: refs/heads/master@{#66762}
-
Georg Neis authored
Change-Id: I9388a6b4f684a1567e1cbae9ee4784e43a99633e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2106208 Auto-Submit: Georg Neis <neis@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#66761}
-
Tobias Tebbi authored
In the runtime, we always had a convention to use int-typed accessors for Smi fields. For Torque-generated classes, we kept them Smi-typed but then added int wrappers around that. This CL makes Torque generate int-typed accessors directly, removing the need for these wrappers. TBR=hpayer@chromium.org Bug: v8:7793 Change-Id: I348e1d96295c9676fafda32b7d49088848527f89 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2106210 Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> Cr-Commit-Position: refs/heads/master@{#66760}
-
Tobias Tebbi authored
- Allow type expression for abstract type supertypes. For consistency, and ease of implementation, also allow this for enums. - Allow subtyping of structs. This requires changing all places where we checked for struct types and instead check if we have a subtype of a struct type. - This allows defining two subtypes of the Reference<T> struct for mutable and constant references. Mutable references are a subtype of constant references. - &T desugars to MutableReference<T> const &T desugars to ConstReference<T> - A const field of a class produces a constant reference. A const field of a mutable reference to a struct is const. A mutable field of a const reference to a struct is const. - It is possible to assign a new struct value to a mutable reference to a struct, even if the struct contains const fields. This is analogous to allowing assignments of let-bound structs with constant fields. Not in this CL: - A notion of const slices. - Applying const to appropriate class fields. Bug: v8:7793 Change-Id: I6e7b09d44f54db25f8bf812be5f3b554b80414e0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2096615Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#66759}
-
jing.bao authored
Bug: v8:9909 Change-Id: If16056ebe0e8c3519afd49982561f96655a03786 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2101129Reviewed-by: Clemens Backes <clemensb@chromium.org> Reviewed-by: Zhi An Ng <zhin@chromium.org> Commit-Queue: Jing Bao <jing.bao@intel.com> Cr-Commit-Position: refs/heads/master@{#66758}
-
v8-ci-autoroll-builder authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/a1cbf64..44de6a6 Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/d7a6643..42d02fb Rolling v8/third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools/+log/34d90be..a30b7bd Rolling v8/tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang/+log/d60a6a8..6e39ba4 TBR=machenbach@chromium.org,tmrts@chromium.org Change-Id: Ibfe9439dc95c33bd05c59369fae3816c966aea47 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2108042Reviewed-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@{#66757}
-
Ng Zhi An authored
In the codegen for shift operations, we update the temp s128 register with the shift value, before shifting src with temp. Thus we really want src to be a different register from temp. I found this with some locally-ran fuzzing. Bug: v8:10115 Change-Id: Ie492570c672f352f0e19aef2b8498c86ec4fdd98 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2107359Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#66756}
-