- 21 Apr, 2020 36 commits
-
-
Ben Noordhuis authored
Provide a stub `third_party_heap::Heap` implementation to work around linker erors with Visual Studio. cl.exe in debug mode seems to eliminate dead code not as aggressively as clang or gcc, resulting in references to `third_party_heap::Heap` remaining in unreachable code paths. Refs: https://github.com/bnoordhuis/v8-cmake/issues/10 Bug: v8:10427 Change-Id: I61fde11697adc663b182f60c132eda435a7f11bd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2159490 Commit-Queue: Ben Noordhuis <info@bnoordhuis.nl> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Auto-Submit: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#67293}
-
Bill Budge authored
- Adds builtins to convert between Int32/Float64 and JS Number. - WasmInt32ToHeapNumber (bypass SMI test) - WasmFloat64ToNumber - Adds builtins to convert between Tagged and Int32/Float64. - WasmTaggedNonSmiToInt32 (bypass SMI test) - WasmTaggedToFloat64 - Uses these builtins in Wasm import and export wrappers instead of generating the equivalent code inline. Results of running Wasm/import-export-wrappers.js Benchmark: https://docs.google.com/document/d/1QIB0xnqdJFRsOJKQYZ8DZgzWn4WysybgugbcO0sYcQA/edit?usp=sharing NOTE: CL will need to be rebased after linkage fix lands. Bug: v8:10070 Change-Id: Ib34507fcd18bdf80938b5707310a5a4f76cdec72 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2099445Reviewed-by: Andreas Haas <ahaas@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#67292}
-
Francis McCabe authored
This reverts commit 80843eda. Reason for revert: Causes compilation failure on macs https://ci.chromium.org/p/v8/builders/ci/Mac%20V8%20FYI%20Release%20(Intel)/8934? Original change's description: > [torque] Allow storing to bitfield structs that are stored in Smis > > This change: > 1. Updates the Torque compiler to allow direct access to bitfields that > are packed within Smi values, which previously would have required a > separate untagging step, > 2. Updates JSRegExpStringIterator to represent its flags in Torque, > 3. Adds reduction cases in MachineOperatorReducer for when the input to > a branch or the left-hand side of a Word32Equals is based on a 64-bit > shift-and-mask operation which has been truncated to 32 bits, as is > the case in the code generated by step 1, and > 4. Adds a reduction case in MachineOperatorReducer to remove an extra > Word64And operation added by step 1. > > Bug: v8:7793 > Change-Id: Ib4ac2def6211b3cae6be25a8b2a644be5c7d6d3f > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2119225 > Commit-Queue: Seth Brenith <seth.brenith@microsoft.com> > Reviewed-by: Tobias Tebbi <tebbi@chromium.org> > Cr-Commit-Position: refs/heads/master@{#67290} TBR=tebbi@chromium.org,seth.brenith@microsoft.com,nicohartmann@chromium.org Change-Id: Ifa683c92631291c9437438682b6efb2e12862682 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:7793 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2159730Reviewed-by: Francis McCabe <fgm@chromium.org> Commit-Queue: Francis McCabe <fgm@chromium.org> Cr-Commit-Position: refs/heads/master@{#67291}
-
Seth Brenith authored
This change: 1. Updates the Torque compiler to allow direct access to bitfields that are packed within Smi values, which previously would have required a separate untagging step, 2. Updates JSRegExpStringIterator to represent its flags in Torque, 3. Adds reduction cases in MachineOperatorReducer for when the input to a branch or the left-hand side of a Word32Equals is based on a 64-bit shift-and-mask operation which has been truncated to 32 bits, as is the case in the code generated by step 1, and 4. Adds a reduction case in MachineOperatorReducer to remove an extra Word64And operation added by step 1. Bug: v8:7793 Change-Id: Ib4ac2def6211b3cae6be25a8b2a644be5c7d6d3f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2119225 Commit-Queue: Seth Brenith <seth.brenith@microsoft.com> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#67290}
-
Mythri A authored
We give the optimized code another chance on soft deopts in TurboProp. If the deopt is happening on infrequently taken paths, then this will let us reuse the optimized code for the subsequent executions. If the soft deopts are happening multiple times on the same code, then we would discard the optimized code. The number of deopts we would wait is controlled by FLAG_reuse_opt_code_count. BUG=v8:10433 Change-Id: Iaadea4cffde7d7d55be4875c9586694dca64957c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2093503 Commit-Queue: Mythri Alle <mythria@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#67289}
-
Jakob Kummerow authored
Bug: v8:7748 Change-Id: I80265c7070dc7ec421bf53aa717a727c144b0699 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2152844 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#67288}
-
Ng Zhi An authored
This relands commit 387d85ad. This was passing in the simulator because of the typo in simulator-arm.cc. The instr->Bit(7,6) call is incorrect, it should be Bit (no s). I don't really know what it resolves to, but the effect is that we get src_unsigned is false when we expect it to be true. With the simulator fix, we get the same error as non-simulator runs. The fix is in liftoff-assembler-arm.h, we need to be passing both source and dst data types to vmovqn. This was already done correctly in code-generator-arm, but I was careless in copying the logic... Bug: v8:9909 Original change's description: > [wasm-simd][liftoff][arm][arm64] Implement integer narrowing > > Bug: v8:9909 > Change-Id: I0664df45fe399bfa018ff8bcacdbdae66944ed29 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2154834 > Reviewed-by: Clemens Backes <clemensb@chromium.org> > Commit-Queue: Zhi An Ng <zhin@chromium.org> > Cr-Commit-Position: refs/heads/master@{#67254} Change-Id: If17f13aae40569174635283abec5ea1358286f55 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2157799Reviewed-by: Clemens Backes <clemensb@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Auto-Submit: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#67287}
-
Liviu Rau authored
Change-Id: I485596563e557f459d846adcdc3046c72b27c17e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2159486 Commit-Queue: Liviu Rau <liviurau@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#67286}
-
Adam Kallai authored
Bug: None Change-Id: I78bb392d78c9ec968a0763dd9767f4b0ceb374a9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2157380Reviewed-by: Georg Neis <neis@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#67285}
-
Milad Farazmand authored
Port 6f7b4c7f R=jing.bao@intel.com, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: Id707ca1de4c4ef71d46192e97ea82453fbf45482 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2158843Reviewed-by: Junliang Yan <jyan@ca.ibm.com> Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#67284}
-
Milad Farazmand authored
Change-Id: I5cf7c8eb00bb0cb3437ae8d82978543f3191e34a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2158844Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#67283}
-
Sathya Gunasekaran authored
This reverts commit 5c4b8056. Reason for revert: https://ci.chromium.org/p/v8/builders/ci/V8%20Clusterfuzz%20Linux%20MSAN%20no%20origins/14661 Original change's description: > [snapshot] Extract more files > > This moves: > > - ExternalReferenceEncoder to codegen/external-reference-encoder.h > - SerializerDeserializer to snapshot/serializer-deserializer.h > - Checksum() to snapshot/snapshot-utils.h > > serializer-common.h and .cc are removed. > > Tbr: clemensb@chromium.org,ulan@chromium.org > Bug: v8:10416 > Change-Id: I36a242dcc1ad8833374aa567f73e0d4a75632c58 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2144118 > Commit-Queue: Jakob Gruber <jgruber@chromium.org> > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Reviewed-by: Clemens Backes <clemensb@chromium.org> > Reviewed-by: Dan Elphick <delphick@chromium.org> > Cr-Commit-Position: refs/heads/master@{#67281} TBR=ulan@chromium.org,jgruber@chromium.org,clemensb@chromium.org,delphick@chromium.org Change-Id: I718ca43a31d3ca937d700eab9bacc163e4598283 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:10416 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2157383Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#67282}
-
Jakob Gruber authored
This moves: - ExternalReferenceEncoder to codegen/external-reference-encoder.h - SerializerDeserializer to snapshot/serializer-deserializer.h - Checksum() to snapshot/snapshot-utils.h serializer-common.h and .cc are removed. Tbr: clemensb@chromium.org,ulan@chromium.org Bug: v8:10416 Change-Id: I36a242dcc1ad8833374aa567f73e0d4a75632c58 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2144118 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Reviewed-by: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#67281}
-
Dominik Inführ authored
Recompute heap limits while all threads are still stopped. Otherwise setting the limits races with concurrent background threads performing allocations. Bug: v8:10315 Change-Id: I17e711b960e1fde05adb4f4b794f813b94190ef1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2157375Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/master@{#67280}
-
Jakob Gruber authored
snapshot.h is intended to be the public header for the snapshot component, and not the right place for private declarations. This moves them into a new SnapshotImpl class in snapshot.cc (previously named snapshot-common.cc). Bug: v8:10416 Change-Id: If34ad8d6e189050686942488fb8e99c3d310beee Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2144062 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#67279}
-
Michael Lippautz authored
- Fixes includes to be relative to include/ which allows embedders to just add V8's include directory to get started. - Adds public target for the library as "cppgc". Bug: chromium:1056170 Change-Id: Iec9b644e20016a5d7281275b739821a050fd2540 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2157366Reviewed-by: Michael Achenbach <machenbach@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#67278}
-
Milad Farazmand authored
We are compiling V8 using devtoolset-8 and it is generating a new compilation error related to String Truncation: error: ‘char* strncpy(char*, const char*, size_t)’ output truncated copying between 1 and 15 bytes from a string of length 15 [-Werror=stringop-truncation] strncpy(buffer, unicode_utf8, i); Which basically means the null terminating character was not added to the end of the buffer: https://developers.redhat.com/blog/2018/05/24/detecting-string-truncation-with-gcc-8/ This CL will changes 2 uses of "strncpy" to "memcpy" as strings are being copied partially and `\n` being added at a later stage. Change-Id: I3656afb00463d70ddb8700a487a1978b793e1d09 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2155038Reviewed-by: Andreas Haas <ahaas@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#67277}
-
Jakob Kummerow authored
The former is backed by a runtime function for now. No Liftoff or interpreter implementation yet. Bug: v8:7748 Change-Id: If2e1bf6e7a5267c5e64529bb5a686e548682e80a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2154199Reviewed-by: Andreas Haas <ahaas@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#67276}
-
Leszek Swirski authored
This reverts commit e1b93a4f. Reason for revert: MSVC failing https://ci.chromium.org/p/v8/builders/ci/V8%20Win64%20-%20msvc/13274 Original change's description: > Reland^4 "[parser] Introduce UnoptimizedCompileFlags" > > This is a reland of 313d4844 > which was a reland of 0a59e0cb > which was a reland of 146f5375 > which was a reland of d91679bf > > Manually zero out flags with memset, since GCC appears not to initialize > the bitfield values to zero even with a default constructor. > > 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,szuend@chromium.org,rmcilroy@chromium.org > > Bug: v8:10314 > Change-Id: I23bd6f9f14e9d0bbdde91aad46be1a646fd9647d > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2157372 > Reviewed-by: Leszek Swirski <leszeks@chromium.org> > Commit-Queue: Leszek Swirski <leszeks@chromium.org> > Cr-Commit-Position: refs/heads/master@{#67271} TBR=ulan@chromium.org,rmcilroy@chromium.org,leszeks@chromium.org,szuend@chromium.org Change-Id: I0f41e847d4edae67e131cc6d0f782137ab73bac2 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:10314 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2157377Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#67275}
-
Clemens Backes authored
From several runtime functions, this was still missing. For some, it shouldn't really matter, but some runtime functions (e.g. DebugBreak) can call back into JS to wasm, and there it matters. As it never hurts to clear and re-set the flag, this CL consistently resets the flag for all runtime functions called from wasm code. For runtime functions that are called from outside of wasm (e.g. from wrappers), we add a DCHECK instead that the flag is not set. There is one exception (WasmThrowTypeError), which is called both from wasm code and from wrappers. In this case it's OK, I added a comment saying why. Drive-by: Remove obsolete comments (from a time where this clearing was still optional in some cases). R=ahaas@chromium.org Bug: v8:10389 Change-Id: Id4ec92a42e89005276b42c145fe3572eb459d220 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2157026Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#67274}
-
Jakob Kummerow authored
Unused so far. Bug: v8:7748 Change-Id: I8ee905614227c5517fa19088f76f947d2caadc3b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2152843 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#67273}
-
Zhao Jiazhong authored
Port 6f7b4c7f https://crrev.com/c/2154330 Change-Id: I1788a3f6ca30bb684efa182f5e4e40bb3052c052 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2156711Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn> Cr-Commit-Position: refs/heads/master@{#67272}
-
Leszek Swirski authored
This is a reland of 313d4844 which was a reland of 0a59e0cb which was a reland of 146f5375 which was a reland of d91679bf Manually zero out flags with memset, since GCC appears not to initialize the bitfield values to zero even with a default constructor. 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,szuend@chromium.org,rmcilroy@chromium.org Bug: v8:10314 Change-Id: I23bd6f9f14e9d0bbdde91aad46be1a646fd9647d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2157372Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#67271}
-
Leszek Swirski authored
Refactors out the allocation and space merging parts of OffThreadFactory into a new OffThreadHeap class. This allows a separation of concerns between allocating/merging and initializing, and future-proofs the factory code against off-thread allocation implementation changes (e.g. LocalHeap). Bug: chromium:1011762 Change-Id: I876906dbfd50f8aafe56af2e63e5fe35e4f7f8e9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2157369 Auto-Submit: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#67270}
-
Jakob Gruber authored
The intent of this work is to create a clean interface header file for the snapshot component. As a first step, move SerializedData and SnapshotData into their own dedicated files. Bug: v8:10416 Change-Id: I95af08508555a2ec3c2364094b81a76e3e6bb38a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2144117 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#67269}
-
Jakob Gruber authored
... between the interpreter and generated code. Prior to this CL, pre- and post conditions on the output register array differed between the interpreter and generated code. Interpreter Pre: `output` fits captures and temporary registers. Post: None. Generated code Pre: `output` fits capture registers. Post: `output` is modified if and only if the match succeeded. This CL changes the interpreter to match generated code pre- and post conditions by allocating space for temporary registers inside the interpreter. Drive-by: Add MaxRegisterCount, RegistersForCaptureCount helpers. Bug: chromium:1067270 Change-Id: I2900ef2f31207d817ec7ead3e0e2215b23b398f0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2135642 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#67268}
-
Thibaud Michaud authored
Destroy the weak script handle from a custom finalizer, to ensure that this is done from the main thread. R=clemensb@chromium.org Bug: v8:10417 Change-Id: I76a27c4a6db5ef4d189febcf9d0f81f9fd6c220d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2151347Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/master@{#67267}
-
Sathya Gunasekaran authored
This reverts commit 313d4844. Reason for revert: https://ci.chromium.org/p/v8/builders/ci/V8%20Linux%20gcc/6354 Original change's description: > Reland^3 "[parser] Introduce UnoptimizedCompileFlags" > > This is a reland of 0a59e0cb > which was a reland of 146f5375 > which was a reland of d91679bf > > Initializes the BackgroundCompileTasks's language_mode in the > constructor (previously only initialized after successful parse) in case > the parse failed. We still need to reset it after parse in case the > language mode changed (because we encountered "use strict"). > > 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,szuend@chromium.org,rmcilroy@chromium.org > > Bug: v8:10314 > Change-Id: Ieee0bbfade4fe0b56de03bff47a7364959608d6a > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2157367 > Reviewed-by: Leszek Swirski <leszeks@chromium.org> > Commit-Queue: Leszek Swirski <leszeks@chromium.org> > Cr-Commit-Position: refs/heads/master@{#67265} TBR=leszeks@chromium.org Change-Id: I90ac035caa76d4c4baf5ce207247d1ce5169fb2f No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:10314 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2157370Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#67266}
-
Leszek Swirski authored
This is a reland of 0a59e0cb which was a reland of 146f5375 which was a reland of d91679bf Initializes the BackgroundCompileTasks's language_mode in the constructor (previously only initialized after successful parse) in case the parse failed. We still need to reset it after parse in case the language mode changed (because we encountered "use strict"). 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,szuend@chromium.org,rmcilroy@chromium.org Bug: v8:10314 Change-Id: Ieee0bbfade4fe0b56de03bff47a7364959608d6a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2157367Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#67265}
-
Frank Tang authored
Bug: chromium:1051186, chromium:1064326 Change-Id: Ied8d264ac3a40635f13ce09b2009135eaeb0118b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2158485Reviewed-by: Dan Elphick <delphick@chromium.org> Commit-Queue: Frank Tang <ftang@chromium.org> Cr-Commit-Position: refs/heads/master@{#67264}
-
Georg Neis authored
This reverts commit f442b03f. Reason for reland: Wrongly reverted. Original change's description: > Revert "[turbofan] Fix bug in Number.Min/Max typings" > > This reverts commit 4158af83. > > Reason for revert: causing UBSAN failures: > > https://ci.chromium.org/p/v8/builders/ci/V8%20Linux64%20UBSan/10729? > > > Original change's description: > > [turbofan] Fix bug in Number.Min/Max typings > > > > They try to be very precise about when the result can be -0, > > but do so incorrectly. I'm changing the code to just do the > > simple thing instead. Let's see how that affects performance. > > > > Bug: chromium:1072171 > > Change-Id: I9737a84aa19d06685af5b7bca541e348dc37cca8 > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2157028 > > Reviewed-by: Tobias Tebbi <tebbi@chromium.org> > > Commit-Queue: Georg Neis <neis@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#67246} > > TBR=neis@chromium.org,tebbi@chromium.org > > Change-Id: I0d9b312e27f5a8bbbebeccdc9819fa94f10af139 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: chromium:1072171 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2157646 > Reviewed-by: Francis McCabe <fgm@chromium.org> > Commit-Queue: Francis McCabe <fgm@chromium.org> > Cr-Commit-Position: refs/heads/master@{#67249} TBR=neis@chromium.org,tebbi@chromium.org,fgm@chromium.org Change-Id: Ida36ca584a5af5da887189328c8da195b26285d4 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:1072171 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2157368Reviewed-by: Georg Neis <neis@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#67263}
-
Iain Ireland authored
RegExpImpl::Compile does a number of transformations that require directly manipulating the internal representation of the regexp. For example, when matching a (non-sticky, non-anchored) regular expression, the pattern must be wrapped in .* so that it can match anywhere in the input. In the interest of moving towards a cleaner division between irregexp and the outside world, it makes sense to move this code into RegExpCompiler. R=jgruber@chromium.org Bug: v8:10406 Change-Id: I6da251c91c0016914a51480f80bb46c337fd0b23 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2140246Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#67262}
-
Jakob Gruber authored
This is a reland of 52412058 Original change's description: > [protectors] Add use counters to track invalidations > > ... to make real world protector invalidations measurable. > > Chromium CL: https://crrev.com/c/2149324 > > Drive-by: Add missing newline in protector tracing. > Drive-by: Consistent naming for the regexp species protector. > > Bug: v8:9496 > Change-Id: I3c7238aa8024e03ea9e89daf83345b8ec4f0d768 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2149428 > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Commit-Queue: Jakob Gruber <jgruber@chromium.org> > Cr-Commit-Position: refs/heads/master@{#67149} Bug: v8:9496 Change-Id: I3c97bfa747e8429569eaa09ea909de73fc377efa Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2151363Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#67261}
-
Iain Ireland authored
LoadCurrentCharacterImpl is implemented once in each of the eight regexp-macro-assembler-<arch>.cc files. Aside from small differences in comment wording, those eight implementations are identical. The architecture-specific code for LoadCurrentCharacter is all in LoadCurrentCharacterUnchecked. This patch hoists the definition of LoadCurrentCharacterImpl into NativeRegExpMacroAssembler and turns LoadCurrentCharacterUnchecked into a virtual function. Note: The arm64 version of LoadCurrentCharacterImpl contained the following six-year-old comment, which I don't think is worth preserving: // TODO(pielan): Make sure long strings are caught before this, and // not just asserted in debug mode. R=jgruber@chromium.org Bug: v8:10406 Change-Id: Ic81283ad3b618d6b06f4206fb77d30de617dccb7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2140003 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#67260}
-
Yu Yin authored
Port several CLs recorded in bug 9909. We test this on 3A4000, and find many issues in MSA implement, but they are not related with this patch, will fix in another CL. Looks like there is no 32-bit os for 3a4000, so we do not implements s128 for mips32. Bug: v8:9909 Change-Id: Iad7569ebb92904bae66d420c8306cde24afb034a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2147575 Commit-Queue: Yu Yin <xwafish@gmail.com> Reviewed-by: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#67259}
-
jing.bao authored
Bug: v8:9909 Change-Id: I11a07dcfe3362e8476ecf361f7de1c5047a34d7c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2154330Reviewed-by: Zhi An Ng <zhin@chromium.org> Commit-Queue: Jing Bao <jing.bao@intel.com> Cr-Commit-Position: refs/heads/master@{#67258}
-
- 20 Apr, 2020 4 commits
-
-
Ng Zhi An authored
With https://crrev.com/c/2118476, we can decode multi byte opcodes. So the module builder should be emitting the correct LEB encoded bytes for SIMD opcodes. This also fixes an error discovered by the fuzzer: I added f64x2.add to the fuzzer, but that's actually a multi-byte opcode, so it resulted in incorrect bytes generated. This should fix it. Bug: chromium:1072090 Bug: v8:10258 Change-Id: I0b32ac27aa24d25ee8694dacb12d3d8339d9f839 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2158005Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#67257}
-
Zhi An Ng authored
This reverts commit 387d85ad. Reason for revert: Broke ARM tree https://ci.chromium.org/p/v8/builders/ci/V8%20Arm%20-%20debug/13926? Original change's description: > [wasm-simd][liftoff][arm][arm64] Implement integer narrowing > > Bug: v8:9909 > Change-Id: I0664df45fe399bfa018ff8bcacdbdae66944ed29 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2154834 > Reviewed-by: Clemens Backes <clemensb@chromium.org> > Commit-Queue: Zhi An Ng <zhin@chromium.org> > Cr-Commit-Position: refs/heads/master@{#67254} TBR=clemensb@chromium.org,zhin@chromium.org Change-Id: I6e5cac9cf9e6070b4819edbde6cd2ada2d0b476a No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:9909 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2158010Reviewed-by: Zhi An Ng <zhin@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#67256}
-
Ng Zhi An authored
Bug: v8:9909 Change-Id: Id7f3c438493d3a41eb36660c69bdea6bfa978c89 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2154766 Commit-Queue: Zhi An Ng <zhin@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#67255}
-
Ng Zhi An authored
Bug: v8:9909 Change-Id: I0664df45fe399bfa018ff8bcacdbdae66944ed29 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2154834Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#67254}
-