- 31 Mar, 2020 1 commit
-
-
Junliang Yan authored
Drive-by: Fix a few BE related issue with ptr-compr enabled. Change-Id: Ic2ff9e69a42e65089a1c1544e5eba1833c2fd95e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2057355Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#66926}
-
- 17 Mar, 2020 1 commit
-
-
Georgia Kouveli authored
Generate a BTI instruction at each target of an indirect branch (BR/BLR). An indirect branch that doesn't jump to a BTI instruction will generate an exception on a BTI-enabled core. On cores that do not support the BTI extension, the BTI instruction is a NOP. Targets of indirect branch instructions include, among other things, function entrypoints, exception handlers and jump tables. Lazy deopt exits can potentially be reached through an indirect branch when an exception is thrown, so they also get an additional BTI instruction. Bug: v8:10026 Change-Id: I0ebf51071f1b604f60f524096e013dfd64fcd7ff Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1967315 Commit-Queue: Georgia Kouveli <georgia.kouveli@arm.com> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#66751}
-
- 27 Feb, 2020 1 commit
-
-
Milad Farazmand authored
Change-Id: Ib13c5cd2230d29321b9502e85f9ac035e2618250 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2078313Reviewed-by: Junliang Yan <jyan@ca.ibm.com> Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#66486}
-
- 25 Feb, 2020 1 commit
-
-
Milad Farazmand authored
Port cc12e947 R=georgia.kouveli@arm.com, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: I58e35c6fc007b01db4a51f93bff995ce8c14c37a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2071512Reviewed-by: Junliang Yan <jyan@ca.ibm.com> Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#66435}
-
- 10 Feb, 2020 1 commit
-
-
Pierre Langlois authored
Each assembler has it's own way to place breakpoints: - stop() for arm, mips*, ppc* and s390. - debug() for arm64. - int3() for ia32 and x64. We can mandate a macro-assembler `DebugBreak()` method that all should implement so one can place a breakpoint in a portable way using a macro-assembler. This way also assemblers are in line with TurboFan, CSA, Torque and Liftoff which all have a DebugBreak() facility. Change-Id: Ic4332bd19ca4db53e01441d54af6632c2c1189f1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2020954Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Pierre Langlois <pierre.langlois@arm.com> Cr-Commit-Position: refs/heads/master@{#66198}
-
- 08 Nov, 2019 1 commit
-
-
Michael Starzinger authored
This removes the support to emit runtime calls in Liftoff code and uses WebAssembly runtime stubs instead. Calls to such stubs are smaller and more efficient. They also use embedded builtins directly instead of the on-heap {Code} object trampolines. This also removes the last use of a runtime call that passes a dynamically loaded CEntry builtin from the macro assembler. R=clemensb@chromium.org Change-Id: I9fa9f3b7a2b66cb76a677b70ce3cee49cb340f0f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1903443 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#64855}
-
- 04 Nov, 2019 1 commit
-
-
Milad Farazmand authored
Port 352bbb12 Original Commit Message: This is a reland of 855591a5 Fixes break in builds that verify ReadOnlyHeap by relaxing the requirement for Code objects to be in CODE_SPACE in PagedSpaceObjectIterator::FromCurrentPage. Original change's description: > Reland: [builtins] Move non-JS linkage builtins code objects into RO_SPACE > > Reland of https://chromium-review.googlesource.com/c/v8/v8/+/1795358. > > [builtins] Move non-JS linkage builtins code objects into RO_SPACE > > Creates an allow-list of builtins that can still go in code_space > including all TFJ builtins and a small manual list that should be pared > down in the future. > > For builtins that go in RO_SPACE a Code object is created that contains an > immediate trap instruction. Generally these Code objects are still no > smaller than CODE_SPACE Code objects because of the Code object alignment > requirements. This will hopefully be addressed in a follow-up CL either by > relaxing them or removing the instruction stream completely. > > In the snapshot, this reduces code_space from ~152k to ~40k (-112k) and > increases by the same amount. > > Change-Id: I76661c35c7ea5866c1fb16e87e87122b3e3ca0ce > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1893336 > Commit-Queue: Dan Elphick <delphick@chromium.org> > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Cr-Commit-Position: refs/heads/master@{#64700} R=delphick@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: If150434119828a87e295b0639c934392812bb345 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1896904Reviewed-by: Milad Farazmand <miladfar@ca.ibm.com> Reviewed-by: Dan Elphick <delphick@chromium.org> Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#64741}
-
- 31 Oct, 2019 4 commits
-
-
Milad Farazmand authored
This reverts commit 94456e5c. Reason for revert: <INSERT REASONING HERE> Original change's description: > PPC/s390: Reland: [builtins] Move non-JS linkage builtins code objects into RO_SPACE > > Port 855591a5 > > Original Commit Message: > > Reland of https://chromium-review.googlesource.com/c/v8/v8/+/1795358. > > [builtins] Move non-JS linkage builtins code objects into RO_SPACE > > Creates an allow-list of builtins that can still go in code_space > including all TFJ builtins and a small manual list that should be pared > down in the future. > > For builtins that go in RO_SPACE a Code object is created that contains an > immediate trap instruction. Generally these Code objects are still no > smaller than CODE_SPACE Code objects because of the Code object alignment > requirements. This will hopefully be addressed in a follow-up CL either by > relaxing them or removing the instruction stream completely. > > In the snapshot, this reduces code_space from ~152k to ~40k (-112k) and > increases by the same amount. > > R=delphick@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com > BUG= > LOG=N > > Change-Id: Ibd0713a17df9c873692553f2d57f4ba36bcdb342 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1893746 > Reviewed-by: Junliang Yan <jyan@ca.ibm.com> > Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com> > Cr-Commit-Position: refs/heads/master@{#64704} TBR=michael_dawson@ca.ibm.com,jyan@ca.ibm.com,joransiu@ca.ibm.com,delphick@chromium.org,miladfar@ca.ibm.com Change-Id: I808a4220892dcfef66b4b9d90ab43bf403d2e9b0 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1894353Reviewed-by: Milad Farazmand <miladfar@ca.ibm.com> Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#64705}
-
Milad Farazmand authored
Port 855591a5 Original Commit Message: Reland of https://chromium-review.googlesource.com/c/v8/v8/+/1795358. [builtins] Move non-JS linkage builtins code objects into RO_SPACE Creates an allow-list of builtins that can still go in code_space including all TFJ builtins and a small manual list that should be pared down in the future. For builtins that go in RO_SPACE a Code object is created that contains an immediate trap instruction. Generally these Code objects are still no smaller than CODE_SPACE Code objects because of the Code object alignment requirements. This will hopefully be addressed in a follow-up CL either by relaxing them or removing the instruction stream completely. In the snapshot, this reduces code_space from ~152k to ~40k (-112k) and increases by the same amount. R=delphick@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: Ibd0713a17df9c873692553f2d57f4ba36bcdb342 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1893746Reviewed-by: Junliang Yan <jyan@ca.ibm.com> Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#64704}
-
Milad Farazmand authored
Port 1e696896 Original Commit Message: It was used only with Register inputs, so we can replace its uses with the Registers themselves. R=solanes@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: I6b325ccefd226c96de45a74068b1d02611a846cb Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1892195Reviewed-by: Junliang Yan <jyan@ca.ibm.com> Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#64677}
-
Milad Farazmand authored
Port 46648402 Original Commit Message: CallDebugOnFunctionCall was always using Registers and not Immediates. Then ParameterCount is not really needed. Since updating that, we could update other functions, e.g InvokeFunction, to only use registers too. Also removed now irrelevant variables, e.g definitely_mismatches. R=solanes@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: Ie0348998503bf4f416440f056e4296d22d064d4d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1892171Reviewed-by: Joran Siu <joransiu@ca.ibm.com> Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#64665}
-
- 30 Oct, 2019 2 commits
-
-
Milad Farazmand authored
This reverts commit 2da05dfc. Reason for revert: Will need to commit some of the changes as a port of 46648402 Original change's description: > PPC/s390: [codegen] Removed ParameterCount class > > Port 1e696896 > > Original Commit Message: > > It was used only with Register inputs, so we can replace its uses with > the Registers themselves. > > R=solanes@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com > BUG= > LOG=N > > Change-Id: I95c0e6fc19ea5f9579d022756a4693ea0140d2f7 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1890543 > Reviewed-by: Junliang Yan <jyan@ca.ibm.com> > Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com> > Cr-Commit-Position: refs/heads/master@{#64661} TBR=michael_dawson@ca.ibm.com,jyan@ca.ibm.com,joransiu@ca.ibm.com,miladfar@ca.ibm.com,solanes@chromium.org Change-Id: I10f0a7f3c81f7c5c396df1e26ead50c5f8755231 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1891073Reviewed-by: Milad Farazmand <miladfar@ca.ibm.com> Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#64662}
-
Milad Farazmand authored
Port 1e696896 Original Commit Message: It was used only with Register inputs, so we can replace its uses with the Registers themselves. R=solanes@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: I95c0e6fc19ea5f9579d022756a4693ea0140d2f7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1890543Reviewed-by: Junliang Yan <jyan@ca.ibm.com> Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#64661}
-
- 17 Oct, 2019 1 commit
-
-
Milad Farazmand authored
Port 3cad6bf5 Original Commit Message: This is a reland of c7c47c68. This makes TSAN happy in addition to: Previously I presumed that the context read from a frame in the profiler was a valid context. Turns out that on non-intel we're not guaranteed that the frame is properly set up. In the case we looked at, the profiler took a sample right before writing the frame marker indicating a builtin frame, causing the "context" pointer from that frame to be a bytecode array. Since we'll read random garbage on the stack as a possible context pointer, I made the code reading the native context from it a little more defensive. Original change's description: > [runtime] Move Context::native_context to the map > > Remove the native context slot from contexts by making context maps > native-context-specific. Now we require 2 loads to go from a context to the > native context, but we have 1 field fewer to store when creating contexts. > > Change-Id: I3c0d7c50c94060c4129db684f46a567de6f30e8d > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1859629 > Commit-Queue: Toon Verwaest <verwaest@chromium.org> > Reviewed-by: Igor Sheludko <ishell@chromium.org> > Reviewed-by: Peter Marshall <petermarshall@chromium.org> > Reviewed-by: Maya Lekova <mslekova@chromium.org> > Reviewed-by: Georg Neis <neis@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > Cr-Commit-Position: refs/heads/master@{#64296} R=verwaest@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: I48b21f189e782a338eb2508edd57b7b2cf5ce240 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1865607Reviewed-by: Junliang Yan <jyan@ca.ibm.com> Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#64362}
-
- 30 Sep, 2019 1 commit
-
-
Vasili Skurydzin authored
prepare for ptr compression Change-Id: Ia459ad18a30fbfd8e51bd99735f0d63644d30b8f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1831788Reviewed-by: Joran Siu <joransiu@ca.ibm.com> Reviewed-by: Junliang Yan <jyan@ca.ibm.com> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#64051}
-
- 24 Sep, 2019 1 commit
-
-
Milad Farazmand authored
Port 12a9ee3a Original Commit Message: 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. R=ishell@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: I1a353f2d6a682ba27e579a7de1bf7ea2240a6bbd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1822117Reviewed-by: Junliang Yan <jyan@ca.ibm.com> Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#63951}
-
- 29 Aug, 2019 1 commit
-
-
Milad Farazmand authored
Port 213504b9 Original Commit Message: The code fields in a JSRegExp object now either contain irregexp compiled code or a trampoline to the interpreter. This way the code can be executed without explicitly checking if the regexp shall be interpreted or executed natively. In case of interpreted regexp the generated bytecode is now stored in its own fields instead of the code fields for Latin1 and UC16 respectively. The signatures of the jitted irregexp match and the regexp interpreter have been equalized. R=pthier@google.com, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: I2b0b82e76a800408ced2e92e811ce5e8dac2cf0f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1775725Reviewed-by: Joran Siu <joransiu@ca.ibm.com> Reviewed-by: Milad Farazmand <miladfar@ca.ibm.com> Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#63462}
-
- 14 Jun, 2019 1 commit
-
-
Milad Farazmand authored
Port 7b48dd55 Original Commit Message: This changes Generate_ContinueToBuiltinHelper to generate code to load the builtin address directly from the builtins table rather than going via the executable code in the trampoline's code object. The set up for Generate_ContinueToBuiltinHelper is changed so that the builtin index is stored on the stack in place of the builtin Code object which is no longer needed. R=delphick@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: Ie696468685517333515bf4b0b78fdd7d8c4e7763 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1660628Reviewed-by: Junliang Yan <jyan@ca.ibm.com> Reviewed-by: Dan Elphick <delphick@chromium.org> Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#62187}
-
- 13 Jun, 2019 1 commit
-
-
Dan Elphick authored
Since TurboAssembler::CallBuiltinPointer actually takes the builtin_index as input, rename the function to CallBuiltinByIndex. Bug: v8:9183 Change-Id: I4958d96f18a48a2ec91525d80d597a35e45d5989 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1657915 Auto-Submit: Dan Elphick <delphick@chromium.org> Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#62151}
-
- 28 May, 2019 1 commit
-
-
Yang Guo authored
Bug: v8:9247 Change-Id: I2f999ed3a8cc0931e5092f2ac6e709b8ff3f9e42 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1630678 Commit-Queue: Yang Guo <yangguo@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#61896}
-
- 27 May, 2019 1 commit
-
-
Jakob Kummerow authored
Drive-by: fix an #include that the gcov bot is missing Bug: v8:9183 Change-Id: I35d1b4e346a56799a5f49b7059a658d5ccfe75ac Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1627548Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#61837}
-
- 24 May, 2019 1 commit
-
-
Yang Guo authored
TBR=mvstanton@chromium.org,neis@chromium.org,ahaas@chromium.org Bug: v8:9247 Change-Id: I5433c863a54f3412d73df0d38aba3fdbcfac7ebe Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1627973 Commit-Queue: Yang Guo <yangguo@chromium.org> Auto-Submit: Yang Guo <yangguo@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#61830}
-
- 23 May, 2019 1 commit
-
-
Yang Guo authored
TBR=bmeurer@chromium.org,leszeks@chromium.org Bug: v8:9247 Change-Id: I8d14d0192ea8c705f8274e8e61a162531826edb6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1624220Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Hannes Payer <hpayer@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#61769}
-
- 21 May, 2019 1 commit
-
-
Yang Guo authored
Bug: v8:9247 TBR=bmeurer@chromium.org,neis@chromium.org NOPRESUBMIT=true Change-Id: Ia1e49d1aac09c4ff9e05d58fab9d08dd71198878 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1621931Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#61682}
-
- 23 Apr, 2019 1 commit
-
-
andrew-cc-chen authored
Change-Id: I2bc21a353c871652daeac87eae62e1e6ae740b49 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1529638Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#60955}
-
- 01 Apr, 2019 1 commit
-
-
Milad Farazmand authored
This is a reland of dd07cbcf Original change's description: > PPC/S390: [heap] Clean-up keys of oldspace weakmaps during scavenge > > Port 6604f182 > > Original Commit Message: > > This CL adds handling for cleaning up weakmap (EphemeronHashTable) > keys during scavenge, even if the weakmap resides in oldspace. > > Change-Id: Idf8b6115e57b1229864afefe6ffee85acb5e7547 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1538320 > Reviewed-by: Milad Farazmand <miladfar@ca.ibm.com> > Reviewed-by: Junliang Yan <jyan@ca.ibm.com> > Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com> > Commit-Queue: Junliang Yan <jyan@ca.ibm.com> > Cr-Commit-Position: refs/heads/master@{#60446} Change-Id: I8136d873cfc399c84a4daf4de9a1043f016561cb Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1546561 Auto-Submit: Milad Farazmand <miladfar@ca.ibm.com> Reviewed-by: Junliang Yan <jyan@ca.ibm.com> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#60560}
-
- 26 Mar, 2019 1 commit
-
-
Milad Farazmand authored
This reverts commit dd07cbcf. Change-Id: I3397af6d5c5cf2349b35c940eb46f4f9d2440a50 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1538904 Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Reviewed-by: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#60463}
-
- 25 Mar, 2019 1 commit
-
-
Milad Farazmand authored
Port 6604f182 Original Commit Message: This CL adds handling for cleaning up weakmap (EphemeronHashTable) keys during scavenge, even if the weakmap resides in oldspace. Change-Id: Idf8b6115e57b1229864afefe6ffee85acb5e7547 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1538320Reviewed-by: Milad Farazmand <miladfar@ca.ibm.com> Reviewed-by: Junliang Yan <jyan@ca.ibm.com> Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#60446}
-
- 08 Mar, 2019 1 commit
-
-
Pavel Medvedev authored
instead of forwarding template constructors for these classes introduced in edab9a20 commit. TurboAssemblerBase constructors were declared as public to make the inherited TurboAssembler, and MacroAssembler ctors also public. This fixes Visual C++ 2017 compile error, when the template ctor in TurboAssemblerBase class matches deleted copy ctor. Bug: v8:8935 Change-Id: I1144a7025830c3a0ab86acaa8ea81def02d293b1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1496977Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#60114}
-
- 25 Feb, 2019 1 commit
-
-
Junliang Yan authored
Port 591408cb Original Commit Message: We'll need one bit in the SharedFunctionInfo::flags to record whether it's safe to skip arguments adaptor frames (for v8:8895), so this just removes the SharedFunctionInfo::IsDerivedConstructorBit which is redundant, since the same information is already available in the SharedFunctionInfo::FunctionKindBits, and most places in the code use that already, with the exception of the JSConstructStubGeneric builtin. This changes the JSConstructStubGeneric builtin to just check the function kind instead of testing the explicit bit, which also makes this more consistent. It seems like there's not much overhead to that, doing an additional bitmasking plus two comparisons instead of one. This shouldn't really matter since invocation and execution of the constructors is going to dominate and optimized code inlines all of this anyways. If this turns out to affect performance, we can still look into encoding the FunctionKindBits more cleverly. the shift when accessing the function kind. This seems logic, since for the actual boolean bit fields it doesn't matter where they are in the flags, whereas for the function kind this saves one shift. R=bmeurer@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com, miladfar@ca.ibm.com BUG= LOG=N Change-Id: I4e3ba5a066285bf50e869c32228d79d26d57258f Reviewed-on: https://chromium-review.googlesource.com/c/1486411Reviewed-by: Milad Farazmand <miladfar@ca.ibm.com> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#59837}
-
- 21 Feb, 2019 1 commit
-
-
Farazmand authored
Port adb7e37b Original Commit Message: In the Crankshaft days we (mis)used the Representation to also express the various internal representations that the compiler understands. But with TurboFan we now have proper MachineRepresentation and MachineType, which do that independently. So there's no need to have this in the Representation class anymore, and instead the Representation class only needs to deal with the field representations. R=bmeurer@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: Ie3c8062786d5fd42872e22be01cea45d719ea0a4 Reviewed-on: https://chromium-review.googlesource.com/c/1479972Reviewed-by: Junliang Yan <jyan@ca.ibm.com> Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#59767}
-
- 11 Feb, 2019 1 commit
-
-
Junliang Yan authored
Port 9e060e47 Original Commit Message: When BUILDING_V8_SHARED in release builds __declspec(dllexport) causes generation of implicit constructors in the forwarding class while its deleted in TurboAssemblerBase, which leads to compilation errors like: In file included from gen/v8/v8_base_jumbo_6.cc:41: In file included from .\../../v8/src/interface-descriptors.cc:7: In file included from ../../v8\src/macro-assembler.h:40: ../../v8\src/x64/macro-assembler-x64.h(92,9): error: call to deleted constructor of 'v8::internal::TurboAssemblerBase' : TurboAssemblerBase(std::forward<Args>(args)...) {} ^ ~~~~~~~~~~~~~~~~~~~~~~~~ ../../v8\src/x64/macro-assembler-x64.h(536,25): note: in instantiation of function template specialization 'v8::internal::TurboAssembler::TurboAssembler<v8::internal::TurboAssembler>' requested here class V8_EXPORT_PRIVATE MacroAssembler : public TurboAssembler { ^ ../../v8\src/turbo-assembler.h(127,34): note: 'TurboAssemblerBase' has been explicitly marked deleted here DISALLOW_IMPLICIT_CONSTRUCTORS(TurboAssemblerBase); ^ 1 error generated. The original changes were made in https://chromium-review.googlesource.com/c/v8/v8/+/1414913 R=hop2deep@gmail.com, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: I2a6e555b028583b89402b257e40757f34f3301c1 Reviewed-on: https://chromium-review.googlesource.com/c/1463179Reviewed-by: Milad Farazmand <miladfar@ca.ibm.com> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#59499}
-
- 28 Jan, 2019 1 commit
-
-
Ulan Degenbaev authored
Change-Id: I927eed8354fdb3eba2d8ab94caafa89b1ce02016 Reviewed-on: https://chromium-review.googlesource.com/c/1436019 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#59115}
-
- 17 Jan, 2019 1 commit
-
-
Junliang Yan authored
Port edab9a20 Original Commit Message: and TurboAssembler. Instead of listing all the different combinations of arguments (which is one more now, temporarily), just forward all arguments down via MacroAssembler and TurboAssembler to TurboAssemblerBase. Interestingly, this requires more specific types sometimes (int instead of size_t), since further down the forwarding chain, the compiler does not recognize any more that the value is a constant, and emits a warning about a possibly truncating implicit conversion. R=clemensh@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: I6dddc58b81d020570087393158f4ad0f37efa9ce Reviewed-on: https://chromium-review.googlesource.com/c/1417379Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#58889}
-
- 11 Jan, 2019 1 commit
-
-
Junliang Yan authored
Port 4ab96a9a Original Commit Message: Remove the use of a jump table in the prologue of the deopt entries and instead pass the bailout id explicitly in a register when calling the deopt entry routine from optimized code. This unifies the logic with the way the Arm64 code works. It saves the following amount of memory in code stubs: - arm: 384KB - ia32: 480KB - x64: 240KB This could be offset by a slight increase in the size of optimized code for loading the immediate, however this impact should be minimal and will scale with the maximum number of bailout ids (e.g., the size of code will increase by one instruction per bailout id on Arm, therefore ~98,000 bailouts will be needed before the overhead is greater than the current fixed table size). R=rmcilroy@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: Id5762334b21e6a91e5ce44b7db1e38ace9147372 Reviewed-on: https://chromium-review.googlesource.com/c/1406026 Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Reviewed-by: Joran Siu <joransiu@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#58752}
-
- 07 Jan, 2019 1 commit
-
-
Junliang Yan authored
Port ccc068d5 Original Commit Message: This CL does two things: 1. It introduces Call/JumpCodeObject as the bottleneck for all calls to non-heap-constant Code objects; and 2. it dispatches directly to the off-heap entry point for all embedded code. Codegen at runtime remains unchanged to preserve the shorter, branch-less calling sequence. R=jgruber@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: I282a5711fdd481a1fde3569e72f0a6141ebcdf2a Reviewed-on: https://chromium-review.googlesource.com/c/1396501 Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Reviewed-by: Joran Siu <joransiu@ca.ibm.com> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#58596}
-
- 03 Jan, 2019 1 commit
-
-
Junliang Yan authored
Port f323a5f4 Original Commit Message: Currently, Torque's builtin pointers store a Code target underneath and callsites generate a kArchCallCodeObject opcode. When embedded builtins are enabled, the call thus first calls the on-heap trampoline, which finally jumps to the target off-heap builtin code. This will no longer be possible in jitless mode, since on-heap code must not be executable. As a step towards changing the way builtin pointers are called (function pointers will hold the builtin index as a Smi, and callsites look up the off-heap target address and jump there), this CL adds a dedicated opcode for builtin pointer calls to the compiler pipeline. The calling mechanism itself is unchanged, changes there will happen in a follow-up. R=jgruber@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: I2d2229227e1c62e7c2515d4f5cb3d4dae49b3dd4 Reviewed-on: https://chromium-review.googlesource.com/c/1393913Reviewed-by: Joran Siu <joransiu@ca.ibm.com> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#58525}
-
- 02 Jan, 2019 1 commit
-
-
Junliang Yan authored
Port 24e76616 Original Commit Message: This is a reland of f849396c Original change's description: > [nojit] Remove code stubs > > All stubs have been migrated to builtins. This CL removes most related > code. > > Bug: v8:7777, v8:5784 > Change-Id: I4470cfef34788e6c8e0fd5fd09e40e250d088dad > Reviewed-on: https://chromium-review.googlesource.com/c/1365284 > Commit-Queue: Jakob Gruber <jgruber@chromium.org> > Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> > Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > Reviewed-by: Yang Guo <yangguo@chromium.org> > Cr-Commit-Position: refs/heads/master@{#58093} R=jgruber@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: Ie05463245c24975804a8bb7ffdf902c70e042127 Reviewed-on: https://chromium-review.googlesource.com/c/1393302Reviewed-by: Joran Siu <joransiu@ca.ibm.com> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#58504}
-
- 19 Dec, 2018 1 commit
-
-
Sigurd Schneider authored
This refactoring reduces the LoC after preprocessor expansion by 370,322 gen ( 21 files): 71,503 to 1,631,168 ( 23x) src ( 624 files): 367,639 to 53,231,764 ( 145x) test ( 392 files): 490,770 to 37,450,839 ( 76x) third_party ( 432 files): 239,085 to 9,547,902 ( 40x) total ( 1521 files): 1,183,681 to 102,836,194 ( 87x) gen ( 21 files): 71,503 to 1,613,222 ( 23x) src ( 624 files): 367,634 to 52,964,046 ( 144x) test ( 392 files): 490,771 to 37,366,181 ( 76x) third_party ( 432 files): 239,085 to 9,547,902 ( 40x) total ( 1521 files): 1,183,677 to 102,465,872 ( 87x) Bug: v8:8562 Change-Id: Ib4e771c37471a2ff19c5538e62c038943cc74eaf Reviewed-on: https://chromium-review.googlesource.com/c/1382469Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#58349}
-
- 07 Dec, 2018 1 commit
-
-
Junliang Yan authored
Port bec0234f Original Commit Message: been converted to builtins themselves and are thus immovable. R=jgruber@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: I5e08b7a894ab72647028735521d7851b15ef5f12 Reviewed-on: https://chromium-review.googlesource.com/c/1363566Reviewed-by: Joran Siu <joransiu@ca.ibm.com> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#58097}
-