- 22 Apr, 2020 8 commits
-
-
Seth Brenith authored
This is a reland of 80843eda 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} Bug: v8:7793 Change-Id: I783b6ec080042fec0e922927f6675dede458a072 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2159731Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#67305}
-
Tobias Tebbi authored
Bug: v8:7793 Change-Id: Id0478287b2147ea231cd19dab6d08674b632b0e9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2159494 Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Auto-Submit: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#67304}
-
Clemens Backes authored
When compiling modules with many functions, the list of regions in the {DisjointAllocationPool} can become quite large if the functions die in a random order (which they typically do, since the order of Liftoff compilation is different than the order to TurboFan compilation; which work stealing, both are nondeterministic). Iterating the list of regions in the {DisjointAllocationPool} was thus linear in the number of regions, which is linear in the number of functions of the module. Since we insert new regions one by one, overall runtime was quadratic. This CL fixes this by switching from a linked list to a std::set. Merging a new region is thus logarithmic instead of linear, and overall we are {n*log(n)} instead of {n^2}. Note: For {AllocateInRegion} we still need to linearly iterate all regions that overlap the requested region, but this has not shown to be a problem so far. R=ahaas@chromium.org Bug: v8:10432 Change-Id: I193e56c2abab782e386194fbe64dadfa250916f7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2154797 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#67303}
-
Andreas Haas authored
With this CL we reuse the implementation of AtomicStore to implement AtomicBinops. The implementation is parametrised by an optional result Liftoff register, and by an operation that is applied on the value stored in the memory location. R=clemensb@chromium.org, v8-arm-ports@googlegroups.com Bug: v8:10108 Change-Id: I71ff5bf1632d860462d66b43c34515400eae2979 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2151349 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#67302}
-
Kong, Fanchen authored
Bug: v8:9909 Change-Id: Ib97bcc7afe516a014cd91128aa3c59f1b8b0b0af Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2151999 Commit-Queue: Fanchen Kong <fanchen.kong@intel.com> Reviewed-by: Clemens Backes <clemensb@chromium.org> Reviewed-by: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#67301}
-
Kim-Anh Tran authored
Bug: v8:1071760 Change-Id: Id2f75aef039574b918768fb323e1a8dbc999606f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2159491Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Kim-Anh Tran <kimanh@chromium.org> Cr-Commit-Position: refs/heads/master@{#67300}
-
Yolanda Chen authored
This patch is to avoid spilling the phi at the loop header if there is a back-edge with an input for the phi that interferes with the phi's value, because in case that input gets spilled it might introduce a stack-to-stack move at the back-edge. Bug: chromium:1063831 Change-Id: Ie7129f10fb573cc799c588e6639b5ad486ea520d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2152002 Commit-Queue: Yolanda Chen <yolanda.chen@intel.com> Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/master@{#67299}
-
Jakob Gruber authored
This is a reland of 5c4b8056 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: delphick@chromium.org,clemensb@chromium.org,ulan@chromium.org Bug: v8:10416 Change-Id: I6f6a1017435db185778ed931e1ddb13d8d5e920e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2157384Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Dan Elphick <delphick@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#67298}
-
- 21 Apr, 2020 32 commits
-
-
Francis McCabe authored
This reverts commit 30c6bd45. Reason for revert: Breaks https://ci.chromium.org/p/v8/builders/ci/V8%20Linux64%20GC%20Stress%20-%20custom%20snapshot/30797? and https://ci.chromium.org/p/v8/builders/ci/V8%20Blink%20Linux/4190 and https://test-results.appspot.com/data/layout_results/V8_Blink_Linux/4190/blink_web_tests%20%28retry%20shards%20with%20patch%29/layout-test-results/results.html Original change's description: > [weakrefs] Ship WeakRef and FinalizationRegistry. > > I2S: https://groups.google.com/a/chromium.org/g/blink-dev/c/L04PqDk9eMU > Bug: v8:8179 > Change-Id: I52aaa62cdab981b802fa4a986d60421ef6efcfbb > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2158371 > Commit-Queue: Shu-yu Guo <syg@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> > Cr-Commit-Position: refs/heads/master@{#67295} TBR=ulan@chromium.org,rmcilroy@chromium.org,syg@chromium.org Change-Id: I22b7d91fcde9761c40d4ccaaccab24629cdb4249 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:8179 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2158924Reviewed-by: Francis McCabe <fgm@chromium.org> Commit-Queue: Francis McCabe <fgm@chromium.org> Cr-Commit-Position: refs/heads/master@{#67297}
-
Bill Budge authored
- Reworks the builtins WasmTableGet and WasmTableSet to do the fast path, instead of generating this inline in wasm-compiler. Change-Id: I0a47c09d6f4f6d81c7b362f6f45e95b19e3edf86 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2135864 Commit-Queue: Bill Budge <bbudge@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#67296}
-
Shu-yu Guo authored
I2S: https://groups.google.com/a/chromium.org/g/blink-dev/c/L04PqDk9eMU Bug: v8:8179 Change-Id: I52aaa62cdab981b802fa4a986d60421ef6efcfbb Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2158371 Commit-Queue: Shu-yu Guo <syg@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#67295}
-
Shu-yu Guo authored
Use the InstallFunction helper to create the initial map and prototypes instead of manually doing so. WeakRef is currently creating an unused Map tied to JS_WEAK_REF_TYPE that would cause the various LogMaps cctests to fail when the feature ships. Bug: v8:8179 Change-Id: Ic1b35ebe5da722fa030af336099fff6153b4baed Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2158488 Commit-Queue: Shu-yu Guo <syg@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#67294}
-
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}
-