- 21 Oct, 2019 1 commit
-
-
Gus Caplan authored
Change-Id: Ia450876e085b8d4aec5df6be6d17a9cfa557980a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1866884Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#64402}
-
- 18 Oct, 2019 1 commit
-
-
Santiago Aboy Solanes authored
This reverts commit ca1259fc. Reason for revert: Branch was cut and we don't want the flag flip shipping. Original change's description: > [ptr-compr][arm64] Temporarily enable pointer compression on arm64 > > ... and make sure that the arm64 ptr-compr bots proceed testing V8 without > pointer compression in order to keep testing the other config. > > Bug: v8:7703 > Change-Id: I0017345273d5328d95a338064dd80b44974c1c53 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1844780 > Reviewed-by: Igor Sheludko <ishell@chromium.org> > Reviewed-by: Michael Achenbach <machenbach@chromium.org> > Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> > Cr-Commit-Position: refs/heads/master@{#64132} TBR=machenbach@chromium.org,ishell@chromium.org,tmrts@chromium.org,solanes@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. Bug: v8:7703 Change-Id: I67c244e583893bb1062dbaa610c9c470fbfb9e40 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1868610Reviewed-by:
Santiago Aboy Solanes <solanes@chromium.org> Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#64374}
-
- 17 Oct, 2019 2 commits
-
-
Santiago Aboy Solanes authored
The DecompressionOptimizer aims to avoid adding the root in AnyTagged or TaggedPointer loads. For the TaggedSigned case, we already solve it in instruction selection. The new phase will run only when pointer compression is enabled. For the moment, it's also requires FLAG_turbo_decompression_elimination to be false. This latter flag is only temporary to test out the implementation. The phase needs to be run when Machine are present in the graph, i.e at the very end of the pipeline. Also, since this phase may change the load's MachineRepresentation from Tagged to Compressed, it's best to run it as late as possible in order to keep the phases that know about Compressed MachineRepresentation to a minimum. As an example, if we Load a Tagged value only to Store it back again (i.e Load -> Store nodes, with the Load being the Store's value) we don't need to fully decompress it since the Store will ignore the top bits. Bug: v8:7703 Change-Id: I6b4aec203ab8cbb540b2513cabb1e2a5691ce938 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1859615 Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#64358}
-
Gus Caplan authored
Change-Id: I828450704fdb74bc5ced0f8f85a0546672b4ff9e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1864571Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#64342}
-
- 16 Oct, 2019 2 commits
-
-
Joshua Litt authored
Bug: v8:9838 Change-Id: I0675b124b2377ff32cb8ae7bbc5eac8ce60314ff Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1854011 Commit-Queue: Joshua Litt <joshualitt@chromium.org> Reviewed-by:
Sathya Gunasekaran <gsathya@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#64328}
-
Simon Zünd authored
This is a reland of 1c56974f This is a plain reland of the original CL. The original CL was speculatively reverted, but ended up not being the cause for bot failures. Original change's description: > Unconditionally enable snapshot builds and remove 'v8_use_snapshot' > > This CL removes 'v8_use_snapshot' and the usages of the implied > V8_USE_SNAPSHOT define. One test runner unittest was updated to use the > "asan" variant instead of the now obsolete "no_snap" variant. > > Related chromium CL: https://crrev.com/c/1796325. > > Bug: v8:8531 > Change-Id: I5da7c9f8e9110fe7bc0f4e4f821bcb7f7d98f927 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1784282 > Commit-Queue: Simon Zünd <szuend@chromium.org> > Reviewed-by: Tamer Tas <tmrts@chromium.org> > Reviewed-by: Michael Achenbach <machenbach@chromium.org> > Reviewed-by: Nico Weber <thakis@chromium.org> > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > Cr-Commit-Position: refs/heads/master@{#64290} TBR=thakis@chromium.org,machenbach@chromium.org,mstarzinger@chromium.org,jgruber@chromium.org,tmrts@chromium.org,szuend@chromium.org Bug: v8:8531 Change-Id: Id75a802279238138f7aefec62e0b6425a5acc08d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1864649Reviewed-by:
Simon Zünd <szuend@chromium.org> Reviewed-by:
Tamer Tas <tmrts@chromium.org> Commit-Queue: Simon Zünd <szuend@chromium.org> Cr-Commit-Position: refs/heads/master@{#64305}
-
- 15 Oct, 2019 3 commits
-
-
Clemens Backes authored
This reverts commit 1c56974f. Reason for revert: Causes several bots to timeout, e.g. https://ci.chromium.org/p/v8/builders/ci/V8%20Linux%20-%20debug/27945 Original change's description: > Unconditionally enable snapshot builds and remove 'v8_use_snapshot' > > This CL removes 'v8_use_snapshot' and the usages of the implied > V8_USE_SNAPSHOT define. One test runner unittest was updated to use the > "asan" variant instead of the now obsolete "no_snap" variant. > > Related chromium CL: https://crrev.com/c/1796325. > > Bug: v8:8531 > Change-Id: I5da7c9f8e9110fe7bc0f4e4f821bcb7f7d98f927 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1784282 > Commit-Queue: Simon Zünd <szuend@chromium.org> > Reviewed-by: Tamer Tas <tmrts@chromium.org> > Reviewed-by: Michael Achenbach <machenbach@chromium.org> > Reviewed-by: Nico Weber <thakis@chromium.org> > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > Cr-Commit-Position: refs/heads/master@{#64290} TBR=thakis@chromium.org,machenbach@chromium.org,mstarzinger@chromium.org,jgruber@chromium.org,tmrts@chromium.org,szuend@chromium.org Change-Id: I4024d818877e534b9f7908a2d14f33dca35b5924 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:8531 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1862572Reviewed-by:
Clemens Backes <clemensb@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#64293}
-
Simon Zünd authored
This CL removes 'v8_use_snapshot' and the usages of the implied V8_USE_SNAPSHOT define. One test runner unittest was updated to use the "asan" variant instead of the now obsolete "no_snap" variant. Related chromium CL: https://crrev.com/c/1796325. Bug: v8:8531 Change-Id: I5da7c9f8e9110fe7bc0f4e4f821bcb7f7d98f927 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1784282 Commit-Queue: Simon Zünd <szuend@chromium.org> Reviewed-by:
Tamer Tas <tmrts@chromium.org> Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Reviewed-by:
Nico Weber <thakis@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#64290}
-
Igor Sheludko authored
The reason is to unblock M79 blocked by chromium:1009439 while full solution is not ready yet. This CL will be reverted after the M79 branch point. Bug: v8:9767, chromium:1009439 Change-Id: I5302d86fe953ecd94d9a4bba0d29c807b7b9d703 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1862554Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#64286}
-
- 11 Oct, 2019 5 commits
-
-
Seth Brenith authored
Design doc: https://docs.google.com/document/d/1ZU6rCvF2YHBGMLujWqqaxlPsjFfjKDE9C3-EugfdlAE/edit Changes from the design doc: - Changed to use 'class' declarations rather than 'type' declarations for things that need instance types but whose layout is not known to Torque. These declarations end with a semicolon rather than having a full set of methods and fields surrounded by {}. If the class's name should not be treated as a class name in generated output (because it's actually a template, or doesn't exist at all), we use the standard 'generates' clause to declare the most appropriate C++ class. - Removed @instanceTypeName. - @highestInstanceType became @highestInstanceTypeWithinParentClassRange to indicate a semantic change: it no longer denotes the highest instance type globally, but only within the range of values for its immediate parent class. This lets us use it for Oddball, which is expected to be the highest primitive type. - Added new abstract classes JSCustomElementsObject and JSSpecialObject to help with some range checks. - Added @lowestInstanceTypeWithinParentClassRange so we can move the new classes JSCustomElementsObject and JSSpecialObject to the beginning of the JSObject range. This seems like the least-brittle way to establish ranges that also include JSProxy (and these ranges are verified with static assertions in instance-type.h). - Renamed @instanceTypeValue to @apiExposedInstanceTypeValue. - Renamed @instanceTypeFlags to @reserveBitsInInstanceType. This change introduces the new annotations and adds the ability for Torque to assign instance types that satisfy those annotations. Torque now emits two new macros: - TORQUE_ASSIGNED_INSTANCE_TYPES, which is used to define the InstanceType enumeration - TORQUE_ASSIGNED_INSTANCE_TYPE_LIST, which replaces the non-String parts of INSTANCE_TYPE_LIST The design document mentions a couple of other macro lists that could easily be replaced, but I'd like to defer those to a subsequent checkin because this one is already pretty large. Bug: v8:7793 Change-Id: Ie71d93a9d5b610e62be0ffa3bb36180c3357a6e8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1757094 Commit-Queue: Seth Brenith <seth.brenith@microsoft.com> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#64258}
-
Igor Sheludko authored
This reverts commit d471ec9f. Reason for revert: Unexpected redness on non-ptr-compr bots. Original change's description: > [ptr-compr][x64] Temporarily enable pointer compression on x64 > > Bug: v8:7703 > Change-Id: Id7858d2d7324670d01836f7acbb952cd99c4a8b7 > Cq-Include-Trybots: luci.v8.try:v8_linux64_ubsan_rel_ng,v8_linux64_tsan_rel > Cq-Include-Trybots: luci.v8.try:v8_linux64_cfi_rel_ng > Cq-Include-Trybots: luci.chromium.try:fuchsia_x64,linux-rel,mac-rel > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1849522 > Commit-Queue: Igor Sheludko <ishell@chromium.org> > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > Reviewed-by: Michael Achenbach <machenbach@chromium.org> > Cr-Commit-Position: refs/heads/master@{#64248} Tbr: verwaest@chromium.org,machenbach@chromium.org No-Tree-Checks: true Bug: v8:7703 Change-Id: I841d9722642f75f1277aedd70c4476aee041d946 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1857218Reviewed-by:
Igor Sheludko <ishell@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#64251}
-
Igor Sheludko authored
Bug: v8:7703 Change-Id: Id7858d2d7324670d01836f7acbb952cd99c4a8b7 Cq-Include-Trybots: luci.v8.try:v8_linux64_ubsan_rel_ng,v8_linux64_tsan_rel Cq-Include-Trybots: luci.v8.try:v8_linux64_cfi_rel_ng Cq-Include-Trybots: luci.chromium.try:fuchsia_x64,linux-rel,mac-rel Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1849522 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#64248}
-
Georg Neis authored
This reverts commit 12b22b51. Reason for revert: Experiment finished. Original change's description: > Disable --instruction-scheduling for mksnapshot > > This is an experiment to see the memory/performance impact. > > Bug: v8:9775 > Change-Id: I2ae61ae8bb5c6c1c55436e96c4b2d8201cbf4739 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1832177 > Reviewed-by: Michael Stanton <mvstanton@chromium.org> > Commit-Queue: Georg Neis <neis@chromium.org> > Cr-Commit-Position: refs/heads/master@{#64062} TBR=mvstanton@chromium.org,neis@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. Bug: v8:9775 Change-Id: Ife556af5f8c09c25f20756a9b2ac940cb74359e2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1855983Reviewed-by:
Georg Neis <neis@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#64239}
-
Jakob Kummerow authored
instead of plain uint32_t as entry. This provides some type safety, because the compiler will check that we are not mixing up indexes and entries. It also paves the way to consistently using size_t for TypedArray indexes. Bug: v8:4153 Change-Id: Ie0eb63693c871efda9860d3d288896819868b66a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1852765Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#64236}
-
- 08 Oct, 2019 1 commit
-
-
Matheus Marchini authored
R=yangguo@chromium.org Ref: https://github.com/nodejs/llnode/issues/255 Change-Id: Icda271123375db5c381fe1d1bba13dcc26f26d7c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1832311Reviewed-by:
Yang Guo <yangguo@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#64169}
-
- 07 Oct, 2019 4 commits
-
-
Tobias Tebbi authored
For this, all Torque stub-linkage builtins use TFC instead of TFS, with a custom descriptor added to interface-descriptors.h To avoid having complex logic in the generated code, the new class TorqueInterfaceDescriptor contains the logic to create a CallInterfaceDescriptor from a signature consisting of TNode types. As an example and test, this CL ports StringCharAt to Torque. Bug: v8:7793 Change-Id: I8339d2ad6e4f908ebdc3b8d30244e4bcbd974f21 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1798427Reviewed-by:
Hannes Payer <hpayer@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#64148}
-
Santiago Aboy Solanes authored
... and make sure that the arm64 ptr-compr bots proceed testing V8 without pointer compression in order to keep testing the other config. Bug: v8:7703 Change-Id: I0017345273d5328d95a338064dd80b44974c1c53 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1844780Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#64132}
-
Dominik Inführ authored
This CL removes the StoreBuffer and inserts slots into the RememberedSet directly from within the RecordWrite builtin. Only calls into C code when either the SlotSet-array or the bucket is not allocated. This avoids filling the store buffer up with duplicates or due to a write-heavy workload and then blocking the main thread on store buffer processing. The first CL (https://crrev.com/c/1815241) got reverted, because mksnapshot was using a different size for SlotSet than the final binary on ARM. This is fixed now, SlotSet has a standard layout. Bug: v8:9454 Change-Id: I881641f4ee08a8b42c36fdca8733138b908096bd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1842452Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/master@{#64126}
-
Michael Achenbach authored
This adds a fake toolchain for pointer compression, used for correctness fuzzing. The toolchain enables us to have an extra build with inverse pointer-compression defaults side-by-side. The extra build is used similarly to existing x64/x86 comparisons, except that we now compare builds with different compile-time flags. Change-Id: I75491371262204b86eaa006ca8d04848f49121ac Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1829275Reviewed-by:
Tamer Tas <tmrts@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#64123}
-
- 02 Oct, 2019 1 commit
-
-
Jakob Gruber authored
The natives blob is deprecated and will be removed in the next release. This commit does two things, 1. it disables the v8_extra_library_files gn argument which will make building natives_blob.bin through gn impossible; 2. it marks API functions associated with the natives blob as V8_DEPRECATE_SOON. Embedders should remove any uses of SetNativesDataBlob and replace all calls to InitializeExternalStartupData(const char*, const char*) with the new function InitializeExternalStartupDataFromFile(const char*) Step 2 is to mark API functions as V8_DEPRECATED. Step 3, in the next V8 release, is to remove these functions and all other natives support in V8. Bug: v8:7624 Change-Id: I745e96c60204a9b94d9240be65dd59bb9bdd0699 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1824944 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Auto-Submit: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#64080}
-
- 01 Oct, 2019 2 commits
-
-
Jakob Gruber authored
This is a reland of 66129430 Fixed: Unaligned reads, unspecified evaluation order. Original change's description: > [regexp] Bytecode peephole optimization > > Bytecodes used by the regular expression interpreter often occur in > specific sequences. The number of dispatches in the interpreter can be > reduced if those sequences are combined into a single bytecode. > > This CL adds a peephole optimization pass for regexp bytecodes. > This pass checks the generated bytecode for pre-defined sequences that > can be merged into a single bytecode. > > With the currently implemented bytecode sequences a speedup of 1.12x on > regex-dna and octane-regexp is achieved. > > Bug: v8:9330 > Change-Id: I827f93273a5848e5963c7e3329daeb898995d151 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1813743 > Commit-Queue: Patrick Thier <pthier@google.com> > Reviewed-by: Peter Marshall <petermarshall@chromium.org> > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Cr-Commit-Position: refs/heads/master@{#63992} Cq-Include-Trybots: luci.v8.try:v8_linux64_ubsan_rel_ng Cq-Include-Trybots: luci.v8.try:v8_linux_gcc_rel Bug: v8:9330,chromium:1008502,chromium:1008631 Change-Id: Ib9fc395b6809aa1debdb54d9fba5b7f09a235e5b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1828917Reviewed-by:
Peter Marshall <petermarshall@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#64064}
-
Georg Neis authored
This is an experiment to see the memory/performance impact. Bug: v8:9775 Change-Id: I2ae61ae8bb5c6c1c55436e96c4b2d8201cbf4739 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1832177Reviewed-by:
Michael Stanton <mvstanton@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#64062}
-
- 30 Sep, 2019 1 commit
-
-
Dominik Inführ authored
This reverts commit 70e07cdb. Reason for revert: Clusterfuzz found issue in chromium:1009019 Original change's description: > [heap] Insert directly into RememberedSet and remove StoreBuffer > > This CL removes the StoreBuffer and inserts slots into the > RememberedSet directly from within the RecordWrite builtin. Only calls > into C code when either the SlotSet-array or the bucket is not > allocated. This avoids filling the store buffer up with duplicates or > due to a write-heavy workload and then blocking the main thread on > store buffer processing. > > Change-Id: I05b0b0938d822cdf0e8ef086ad4527d3229c05b2 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1815241 > Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> > Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Cr-Commit-Position: refs/heads/master@{#64002} TBR=ulan@chromium.org,jkummerow@chromium.org,dinfuehr@chromium.org Change-Id: I6f4cc1641965c83b05f3b3830b0f526b362beb49 Bug: chromium:1009019, chromium:1009196 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1829259Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Dominik Inführ <dinfuehr@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/master@{#64043}
-
- 27 Sep, 2019 3 commits
-
-
Mythri A authored
This is a reland of cfb10028 with a fix for failures in lite mode. Original change's description: > [compiler] Cache OSR optimized code > > With lazy feedback allocation, for functions that get OSRed we may > not have feedback for the initial part of the functions since feedback > vectors might be allocated after the function started executing. Hence > we would not be able to optimize the function on the next call. This > means we may have to OSR twice before we actually optimize function. > This cl introduces OSR cache, so we could reuse the optimized code. One > side effect of this cl is that the OSRed code won't be function context > specialized anymore. > > Bug: chromium:987523 > Change-Id: Ic1e2abca85ccfa0a66a0fa83f7247392cc1e7cb2 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1796329 > Commit-Queue: Mythri Alle <mythria@chromium.org> > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> > Reviewed-by: Georg Neis <neis@chromium.org> > Cr-Commit-Position: refs/heads/master@{#64014} Bug: chromium:987523 Change-Id: I9c782242b07b24d15247533ab4ee044334b429ff TBR: rmcilroy@chromium.org Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1826898 Commit-Queue: Mythri Alle <mythria@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#64023}
-
Michael Achenbach authored
This reverts commit cfb10028. Reason for revert: https://ci.chromium.org/p/v8/builders/ci/V8%20Linux%20-%20arm%20-%20sim%20-%20lite/6483 Original change's description: > [compiler] Cache OSR optimized code > > With lazy feedback allocation, for functions that get OSRed we may > not have feedback for the initial part of the functions since feedback > vectors might be allocated after the function started executing. Hence > we would not be able to optimize the function on the next call. This > means we may have to OSR twice before we actually optimize function. > This cl introduces OSR cache, so we could reuse the optimized code. One > side effect of this cl is that the OSRed code won't be function context > specialized anymore. > > Bug: chromium:987523 > Change-Id: Ic1e2abca85ccfa0a66a0fa83f7247392cc1e7cb2 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1796329 > Commit-Queue: Mythri Alle <mythria@chromium.org> > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> > Reviewed-by: Georg Neis <neis@chromium.org> > Cr-Commit-Position: refs/heads/master@{#64014} TBR=rmcilroy@chromium.org,neis@chromium.org,mythria@chromium.org Change-Id: Ib3692e7570bed5d3e88ca8a0247b185d70497a04 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:987523 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1826668Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#64015}
-
Mythri A authored
With lazy feedback allocation, for functions that get OSRed we may not have feedback for the initial part of the functions since feedback vectors might be allocated after the function started executing. Hence we would not be able to optimize the function on the next call. This means we may have to OSR twice before we actually optimize function. This cl introduces OSR cache, so we could reuse the optimized code. One side effect of this cl is that the OSRed code won't be function context specialized anymore. Bug: chromium:987523 Change-Id: Ic1e2abca85ccfa0a66a0fa83f7247392cc1e7cb2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1796329 Commit-Queue: Mythri Alle <mythria@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#64014}
-
- 26 Sep, 2019 3 commits
-
-
Dominik Inführ authored
This CL removes the StoreBuffer and inserts slots into the RememberedSet directly from within the RecordWrite builtin. Only calls into C code when either the SlotSet-array or the bucket is not allocated. This avoids filling the store buffer up with duplicates or due to a write-heavy workload and then blocking the main thread on store buffer processing. Change-Id: I05b0b0938d822cdf0e8ef086ad4527d3229c05b2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1815241 Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#64002}
-
Clemens Backes [né Hammacher] authored
This reverts commit 66129430. Reason for revert: Fails on gcc: https://ci.chromium.org/p/v8/builders/ci/V8%20Linux%20gcc/3394 Original change's description: > [regexp] Bytecode peephole optimization > > Bytecodes used by the regular expression interpreter often occur in > specific sequences. The number of dispatches in the interpreter can be > reduced if those sequences are combined into a single bytecode. > > This CL adds a peephole optimization pass for regexp bytecodes. > This pass checks the generated bytecode for pre-defined sequences that > can be merged into a single bytecode. > > With the currently implemented bytecode sequences a speedup of 1.12x on > regex-dna and octane-regexp is achieved. > > Bug: v8:9330 > Change-Id: I827f93273a5848e5963c7e3329daeb898995d151 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1813743 > Commit-Queue: Patrick Thier <pthier@google.com> > Reviewed-by: Peter Marshall <petermarshall@chromium.org> > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Cr-Commit-Position: refs/heads/master@{#63992} TBR=jgruber@chromium.org,petermarshall@chromium.org,pthier@google.com Change-Id: Ie526fe3691f6abdd16b51979000fdafb7afce8ef No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:9330 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1826727Reviewed-by:
Clemens Backes [né Hammacher] <clemensb@chromium.org> Commit-Queue: Clemens Backes [né Hammacher] <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#63998}
-
Patrick Thier authored
Bytecodes used by the regular expression interpreter often occur in specific sequences. The number of dispatches in the interpreter can be reduced if those sequences are combined into a single bytecode. This CL adds a peephole optimization pass for regexp bytecodes. This pass checks the generated bytecode for pre-defined sequences that can be merged into a single bytecode. With the currently implemented bytecode sequences a speedup of 1.12x on regex-dna and octane-regexp is achieved. Bug: v8:9330 Change-Id: I827f93273a5848e5963c7e3329daeb898995d151 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1813743 Commit-Queue: Patrick Thier <pthier@google.com> Reviewed-by:
Peter Marshall <petermarshall@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#63992}
-
- 25 Sep, 2019 3 commits
-
-
Z Nguyen-Huu authored
Bug: v8:8976 Change-Id: Ibe20feb63b676f76b21dd8be7a9d1f3887af470a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1816926 Commit-Queue: Z Nguyen-Huu <duongn@microsoft.com> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#63974}
-
Peter Marshall authored
This was missed in a file move Bug: chromium:991547 Change-Id: I4442f2e4e7acdb91b16151714b87e229bce1a409 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1824945 Commit-Queue: Peter Marshall <petermarshall@chromium.org> Commit-Queue: Simon Zünd <szuend@chromium.org> Auto-Submit: Peter Marshall <petermarshall@chromium.org> Reviewed-by:
Simon Zünd <szuend@chromium.org> Cr-Commit-Position: refs/heads/master@{#63968}
-
Ross McIlroy authored
Seperates the memory lowering operations into a seperate MemoryLowering class which is used by the MemoryOptimizer. This will enable TurboProp to reduce memory operations without having to do a full memory optimization pass. BUG=v8:9684 Change-Id: I1b333f1360fd342612672842bf879f44ab1ee60c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1815243Reviewed-by:
Georg Neis <neis@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#63966}
-
- 24 Sep, 2019 1 commit
-
-
Igor Sheludko authored
This is a reland of 12a9ee3a Fixed arm64 disasm test. Original change's description: > [ptr-compr] Switch to 31 bit Smis on 64-bit architectures > > 32 bit Smis are incompatible with pointer compression so we land disable > them before enabling pointer compression in order to separate memory and > performance regressions caused by 31 bit Smis from pointer compression > change. > > Bug: v8:9767 > Change-Id: I3d4a675df4208f808b1ba6e7816be545eae0dc24 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1815249 > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > Commit-Queue: Igor Sheludko <ishell@chromium.org> > Cr-Commit-Position: refs/heads/master@{#63934} Bug: v8:9767 Change-Id: Ife46a4240141dd89d841eac152032ad6ca471810 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1820939Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#63940}
-
- 23 Sep, 2019 2 commits
-
-
Bill Budge authored
This reverts commit 12a9ee3a. Reason for revert: Breaks arm64 sim bot https://ci.chromium.org/p/v8/builders/ci/V8%20Linux%20-%20arm64%20-%20sim%20-%20debug/17467 Original change's description: > [ptr-compr] Switch to 31 bit Smis on 64-bit architectures > > 32 bit Smis are incompatible with pointer compression so we land disable > them before enabling pointer compression in order to separate memory and > performance regressions caused by 31 bit Smis from pointer compression > change. > > Bug: v8:9767 > Change-Id: I3d4a675df4208f808b1ba6e7816be545eae0dc24 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1815249 > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > Commit-Queue: Igor Sheludko <ishell@chromium.org> > Cr-Commit-Position: refs/heads/master@{#63934} TBR=ishell@chromium.org,verwaest@chromium.org Change-Id: Icc5a5b676a7f7d3fdb3fe3cf84007d4f9bce6eaf No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:9767 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1815842Reviewed-by:
Bill Budge <bbudge@chromium.org> Commit-Queue: Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#63936}
-
Igor Sheludko authored
32 bit Smis are incompatible with pointer compression so we land disable them before enabling pointer compression in order to separate memory and performance regressions caused by 31 bit Smis from pointer compression change. Bug: v8:9767 Change-Id: I3d4a675df4208f808b1ba6e7816be545eae0dc24 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1815249Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#63934}
-
- 19 Sep, 2019 1 commit
-
-
Jakob Gruber authored
This CL allows us to distinguish between the host- and target OS. The host OS is defined by V8_OS_ macros (e.g. V8_OS_WIN). The target OS is defined by V8_TARGET_OS_ macros (e.g. V8_TARGET_OS_WIN). V8_TARGET_OS_ macros are defined by gn, based on the `target_os` gn variable. If a V8_TARGET_OS_ is set, we also define V8_HAVE_TARGET_OS (this determines fall-back behavior in V8; if it is not defined, we set V8_TARGET_OS_ to equal the equivalent V8_OS_ define). Besides adding the defines, this CL also adds logic to consider the target OS in codegen. Specifically, x64 builds now look at the V8_TARGET_OS_WIN define instead of V8_OS_WIN or _WIN64. This effectively makes cross-compilation to x64 Windows in mksnapshot possible. In future work, we could add similar support for cross-compiling to other platforms such as ia32 Windows. Bug: v8:9736,chromium:803591 Change-Id: I689f3de8c206b743c4bef703f5ade0bba32ce995 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1809374Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#63892}
-
- 17 Sep, 2019 2 commits
-
-
Z Nguyen-Huu authored
Bug: v8:8976 Change-Id: Iede3b662188392303949edf2a9f0c585976695ab Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1806100 Commit-Queue: Z Nguyen-Huu <duongn@microsoft.com> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#63851}
-
Jakob Kummerow authored
By providing a custom implementation of __mulodi4(). This function usually comes from libcompiler_rt, but our build system doesn't provide that. Bug: v8:9665 Change-Id: Ia72f0c23e83724f73ec72b404706c9a40ed861ee Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1806682 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#63826}
-
- 16 Sep, 2019 1 commit
-
-
Joshua Litt authored
The first land did not correctly handle exceptions for already evaluated modules. Original description: Implements AsyncModules in SourceTextModule. However, there is no support in the parser or D8 for actually creating / resolving AsyncModules. Also adds a flag '--top-level-await,' but the only external facing change with the flag enabled is that Module::Evaluate returns a promise. Bug: v8:9344 Change-Id: I24725816ee4a6c3616c3c8b08a75a60ca9f27727 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1797658 Commit-Queue: Joshua Litt <joshualitt@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#63803}
-
- 12 Sep, 2019 1 commit
-
-
Z Nguyen-Huu authored
Bug: v8:8976 Change-Id: I1ffc6637e26ee217750d099d758fd67ed2130131 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1796316 Commit-Queue: Z Nguyen-Huu <duongn@microsoft.com> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#63733}
-