- 19 Mar, 2020 4 commits
-
-
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}
-
- 17 Mar, 2020 11 commits
-
-
Ng Zhi An authored
This optimizes i8x16 shifts when shift value is constant. It reduces instruction counts from 10 to 6 (unsigned), and 9 to 5 (signed). We can 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: Ie602c2b0a7227181502fadb14e100bb0b92f322f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2103445 Commit-Queue: Zhi An Ng <zhin@chromium.org> Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Cr-Commit-Position: refs/heads/master@{#66755}
-
Milad Farazmand authored
This Cl enables simd on machines which support VECTOR_ENHANCE_FACILITY_1. It also enables related tests to match execution on x64. LoadTransform tests must be skipped on the simulator until a future CL matches behaviour between native BE and its simulator on LE. Change-Id: Iaadc32e0388bf15d3d7c550062a373fb403b65c4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2107053Reviewed-by: Clemens Backes <clemensb@chromium.org> Reviewed-by: Zhi An Ng <zhin@chromium.org> Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#66754}
-
Ng Zhi An authored
Delegate to macro assembler functions to pick between SSE or AVX. This simplifies the optimization of constant shifts later. Bug: v8:10115 Change-Id: If0b7dc83a68f2d7839c65527a3b6a62310ace6dd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2103443Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#66753}
-
Thibaud Michaud authored
And fix a few issues revealed by this new test. Incidentally, the test uses removeBreakpoint which was still untested with Liftoff. But as expected this seems to work out of the box. R=clemensb@chromium.org Bug: v8:10321 Change-Id: Ifa4e867737d925ea8c6c9731575a32f3da3e16dc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2106206 Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Reviewed-by: Simon Zünd <szuend@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#66752}
-
Georgia Kouveli authored
Generate a BTI instruction at each target of an indirect branch (BR/BLR). An indirect branch that doesn't jump to a BTI instruction will generate an exception on a BTI-enabled core. On cores that do not support the BTI extension, the BTI instruction is a NOP. Targets of indirect branch instructions include, among other things, function entrypoints, exception handlers and jump tables. Lazy deopt exits can potentially be reached through an indirect branch when an exception is thrown, so they also get an additional BTI instruction. Bug: v8:10026 Change-Id: I0ebf51071f1b604f60f524096e013dfd64fcd7ff Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1967315 Commit-Queue: Georgia Kouveli <georgia.kouveli@arm.com> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#66751}
-
Iain Ireland authored
Some code at the interface between irregexp and the rest of V8 uses V8-specific APIs that are not used elsewhere in irregexp. For example, only a handful of functions in irregexp call or are called from generated code. When embedding irregexp into SpiderMonkey, these functions are an obstacle, because they are dead code, but still have to compile. To simplify the process of embedding, this patch does two things: 1. It moves StringCharacterPosition out of irregexp and into objects/string, renaming it "AddressOfCharacterAt". 2. It guards the following set of functions with '#ifndef COMPILING_IRREGEXP_FOR_EXTERNAL_EMBEDDER': - IrregexpInterpreter::MatchForCallFromJs - NativeRegExpMacroAssembler::CheckStackGuardState - NativeRegExpMacroAssembler::Match - NativeRegExpMacroAssembler::Execute This will have no effect in a V8 build, but can be defined by SpiderMonkey or another embedder to omit the problematic functions. In the future, if we attempt to make a cleaner separation between V8 and irregexp, these functions will be a good place to start defining the API boundary. R=jgruber@chromium.org Bug: v8:10303 Change-Id: I9f531a36e4f13440cafb0d0ade921f4c09f39c05 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2097220Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#66750}
-
Philip Pfaffe authored
Add a scriptLanguage enum to the new scripts events. This overhauls crrev.com/c/2011083 that was related. Report the code section offset as well as the script language on the Debugger.scriptParsed and Debugger.scriptFailedToParse events. Bug: chromium:1057569 Change-Id: I40b43f28f0b3e094720db4fc1f07db1a0c293ee0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2083025Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Philip Pfaffe <pfaffe@chromium.org> Cr-Commit-Position: refs/heads/master@{#66749}
-
Milad Farazmand authored
Port f26c7b75 Original Commit Message: This tests inspecting a bigger number of registers (covers all registers on many platforms). It also executes all four intrinsic types (i32, i64, f32, f64). R=clemensb@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: I47c7f593287500cb125dbf63e6d375d41a5f80fd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2106094Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#66748}
-
Yuki Shiino authored
https://html.spec.whatwg.org/multipage/history.html#the-location-interface HTML Location platform objects need to be initialized with using the %ObjProto_valueOf% intrinsic object. This patch exposes the %ObjProto_valueOf% intrinsic object to embedders. Example usage is: https://crrev.com/c/2102306 Change-Id: Iec58135773e01aed5de330c0c5dea89a49835a52 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2102408Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Yuki Shiino <yukishiino@chromium.org> Cr-Commit-Position: refs/heads/master@{#66747}
-
Georg Neis authored
To avoid that constant folding makes some type assertions hold vacuously, we don't constant-fold directly but instead introduce a new FoldConstant operator that remembers the original node and gets lowered to an equality assertion by the EffectControlLinearizer. Change-Id: I7aedbe6d4fe47461856723c0c40ba3313a376bd8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2100992 Commit-Queue: Georg Neis <neis@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#66746}
-
Dominik Inführ authored
Track list of all local heaps in the Safepoint class instead of the Heap. Bug: v8:10315 Change-Id: I1a1c847502ab5e8f368d4cc12d3cbaf3672af7cc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2106197Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/master@{#66745}
-