- 01 Apr, 2020 20 commits
-
-
Michael Lippautz authored
The tests using the recursive function were broken on non-clang builds as GCC is able to agressively the function in question and proof that parameters are not actually needed. Bug: chromium:1056170 Change-Id: Iacbff766ca9d300c9ae5d16394e205b1883609eb Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2130274 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Anton Bikineev <bikineev@chromium.org> Cr-Commit-Position: refs/heads/master@{#66952}
-
Michael Lippautz authored
Even though the default toolchain for assembly on Windows uses MASM assemblers, we are not supposed to use them to support Linux/Win cross-compile. Bug: chromium:1056170, chromium:1066834 Change-Id: If17dbd68915f843e3fb47584560a4667d5c35bc7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2132250Reviewed-by: Anton Bikineev <bikineev@chromium.org> Reviewed-by: Omer Katz <omerkatz@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#66951}
-
Milad Farazmand authored
Port 767401ba R=fanchen.kong@intel.com, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: Ice8b33376e22ab6658503cda9e34202f96688bcf Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2131509Reviewed-by: Junliang Yan <jyan@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@{#66950}
-
Clemens Backes authored
Double literals without dots should still be parsed as double constants, not unsigned constants. The static_cast would remove the fractional part, making constants like "1e-15" come out as "0" unsigned constants. The precise semantics is not spec'ed, so we still consider literals like "1e1" to be unsigned, and only switch to double if there is a fractional part. R=ecmziegler@chromium.org Bug: chromium:1065635 Change-Id: I0aac018058a149632e0849572d19fdcc7b2af7aa Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2126922Reviewed-by: Emanuel Ziegler <ecmziegler@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#66949}
-
Maya Lekova authored
The ReduceStringPrototypeStartsWith implementation in TurboFan was doing the CheckString too late, after returning "false" in case there are no arguments. Fixed: chromium:1065741 Change-Id: I1016383d65120d3b050e76d6ac41986497af0b8d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2129639 Commit-Queue: Maya Lekova <mslekova@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#66948}
-
Kong, Fanchen authored
Bug: v8:9909 Change-Id: Ib744bcbfe3df66d6904421bcbd2581dd6a95b75c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2116878 Commit-Queue: Fanchen Kong <fanchen.kong@intel.com> Reviewed-by: Zhi An Ng <zhin@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#66947}
-
Georg Neis authored
JSStoreGlobal can become a call into runtime code (SetProperty) that inspects the context in order to get the language mode. Thus always passing the native context is not good enough. Bug: chromium:1065737 Change-Id: Iba9537cd3de743a0967325acf7900190aa835b5f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2130280Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> Commit-Queue: Nico Hartmann <nicohartmann@chromium.org> Auto-Submit: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#66946}
-
Clemens Backes authored
This inlines the first set of macros in order reduce an unneccessary layer of abstraction. This makes the code easier to read and to debug. R=zhin@chromium.org Bug: v8:10364 Change-Id: Ia8ccb90c285c365ae5b3d52b6b6912ad1a76d81d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2129532 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#66945}
-
Zhao Jiazhong authored
Port a447a44f https://crrev.com/c/2064226 Original Commit Message: Since now the IterationBody StackChecks are implicit within JumpLoops, we are able to eagerly deopt in them. If we do that, whenever we advance to the next bytecode we don't have to advance to the next literal bytecode, but instead "advance" in the sense of doing the JumpLoop. Adding tests that test this advancing for wide and extra wide JumpLoops. Also, marking JumpLoop as needing source positions since now it has the ability of causing an interrupt. Change-Id: Ia435888fbaca8596839aa15dafb8b4e7239981fd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2119783Reviewed-by: Santiago Aboy Solanes <solanes@chromium.org> Commit-Queue: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn> Cr-Commit-Position: refs/heads/master@{#66944}
-
Clemens Backes authored
Import the most commonly used ValueType kinds as constants into {LiftoffCompiler}, so that we don't need the fully-qualified accessor on {ValueType}. This makes many template instantiations much shorter and hence easier to read. Drive-by: Replace break after function by return. This often saves another line, making macros and switch statements much shorter. R=zhin@chromium.org Bug: v8:10364 Change-Id: If78352c2fa6b854989fa82718d0b3478b4d73aad Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2129634 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#66943}
-
Camillo Bruni authored
- avoid endless recursion with corrupted traces - speed up page by async bar repainting - minor tweaks to avoid unnecessary work - move helper functions to make command line version parse log files Change-Id: If8ce9cc4093030d648fbc7bbb60e53412e9f7a79 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2115434 Commit-Queue: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#66942}
-
Clemens Backes authored
This is the same cleanup as in the previous CL, but for {EmitBinOpImm}. This requires a minor change in the name of the emit functions with immediate, to make them distinguishable from the emit functions with two registers. We just append an "i" to the functions with immediate. R=zhin@chromium.org Bug: v8:10364 Change-Id: Ie3732a956698368a5f1fbe67334a13014cd2f354 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2129631 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#66941}
-
Adam Kallai authored
The same issue has been fixed in Chromium [1] by Richard Townsend. It seems that cl needs to be applied in V8 as well. [1] https://chromium-review.googlesource.com/c/chromium/src/+/1593363 Also add self to authors file. Bug: v8:10365 Change-Id: Ic38b18392263c2a89f207013ec61718418d5f132 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2130126 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#66940}
-
Clemens Backes authored
If "use asm" is used inside a "function*" or async function, it should bail out. Drive-by: Minor cleanup in {Runtime_InstantiateAsmJs}. R=ecmziegler@chromium.org Bug: chromium:1065852 Change-Id: Ice48126b803a30c4b4ff7b5ae22df85a3f36198a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2126920Reviewed-by: Emanuel Ziegler <ecmziegler@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#66939}
-
Clemens Backes authored
Liftoff has lots of macros that just convert between {LiftoffRegister} and either {Register} or {DoubleRegister}. This CL avoids most of these lambdas by passing the original assembler function to {EmitUnOp} and {EmitBinOp}, and converting the register types only when calling the respective function. This makes the code in many macros a lot shorter, and might allow us to eliminate many macros and just inline their code. R=zhin@chromium.org Bug: v8:10364 Change-Id: I8b7dbb19e367d33181d94472ab422a0a50786449 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2129629 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#66938}
-
Jakob Gruber authored
Change-Id: Ib05e6bde2cefa9274952b6f8790ca4ec3d490a75 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2128057 Auto-Submit: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Dan Elphick <delphick@chromium.org> Reviewed-by: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#66937}
-
Leszek Swirski authored
The internalized string fixup during off-thread factory merging updates object slot values, but didn't call the write barrier for that slot. Now it does. Bug: chromium:1011762 Change-Id: I11e546a06f48bdb476b66a1944f485b97b0d4dbe Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2124318 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#66936}
-
Leszek Swirski authored
Only the NewSloppyArguments_Generic variant is used, so delete the unused NewSloppyArguments function and rename the other one to the now available name. Change-Id: Ifb90a03bd112f78b4d95f7afc3b299c9634e9acc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2128051 Auto-Submit: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#66935}
-
Joyee Cheung authored
This reverts commit 77b24c06. Reason for revert: Broke M83 feature freeze. Reland after the M83 branch cut. Original change's description: > [class] Ship private methods and accessors > > Turns --harmony-private-methods on by default. > > Intent to ship: https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/HLpO-HC8aKc/TT32fUNPBAAJ > ChromeStatus page: https://www.chromestatus.com/feature/5700509656678400 > > Bug: v8:8330 > Change-Id: I0d9b21cddd5418be8e7059c24fa05ab98de667b9 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2110890 > Reviewed-by: Shu-yu Guo <syg@chromium.org> > Commit-Queue: Joyee Cheung <joyee@igalia.com> > Cr-Commit-Position: refs/heads/master@{#66933} TBR=syg@chromium.org Change-Id: Idbcb09fadd4779e5c2ee9b1ae52b7fba5bcb236e No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:8330 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2130450Reviewed-by: Joyee Cheung <joyee@igalia.com> Commit-Queue: Joyee Cheung <joyee@igalia.com> Cr-Commit-Position: refs/heads/master@{#66934}
-
Joyee Cheung authored
Turns --harmony-private-methods on by default. Intent to ship: https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/HLpO-HC8aKc/TT32fUNPBAAJ ChromeStatus page: https://www.chromestatus.com/feature/5700509656678400 Bug: v8:8330 Change-Id: I0d9b21cddd5418be8e7059c24fa05ab98de667b9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2110890Reviewed-by: Shu-yu Guo <syg@chromium.org> Commit-Queue: Joyee Cheung <joyee@igalia.com> Cr-Commit-Position: refs/heads/master@{#66933}
-
- 31 Mar, 2020 16 commits
-
-
Michael Lippautz authored
The stack scanner copies any potentially uninitialized values into a temporary on the stack. The temporary is supposed to be unpoisoned before processing. This fixes an issue where we would pass the wrong address to unpoisoning. Bug: chromium:1056170 Change-Id: I8eb1564103d067e72f9de74b71d9ddfc23a68ade Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2130273 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Anton Bikineev <bikineev@chromium.org> Auto-Submit: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Anton Bikineev <bikineev@chromium.org> Cr-Commit-Position: refs/heads/master@{#66932}
-
Michael Lippautz authored
Bug: v8:10370 Change-Id: Ia20388951ce420bdcd47d3c884ce762b87eefdf1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2130272Reviewed-by: Anton Bikineev <bikineev@chromium.org> Commit-Queue: Anton Bikineev <bikineev@chromium.org> Auto-Submit: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#66931}
-
Michael Lippautz authored
Bug: v8:10369 Change-Id: I2590206bb8158fadeddc4235d36ce34dc91d7599 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2130270 Commit-Queue: Anton Bikineev <bikineev@chromium.org> Auto-Submit: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Anton Bikineev <bikineev@chromium.org> Cr-Commit-Position: refs/heads/master@{#66930}
-
Zhi An Ng authored
This reverts commit c567e447. Reason for revert: Broke V8 Linux - arm64 - sim - MSAN (tree closed) Original change's description: > cppgc: Limit stack scan to clang-only > > Quickfix to get non-clang bots green. > > Bug: v8:10370 > Change-Id: I83591cd2bda94cd5aaffd023fe2b7068bdc7442f > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2131066 > Reviewed-by: Anton Bikineev <bikineev@chromium.org> > Commit-Queue: Michael Lippautz <mlippautz@chromium.org> > Cr-Commit-Position: refs/heads/master@{#66928} TBR=mlippautz@chromium.org,bikineev@chromium.org Change-Id: I0e41e1caae696c6cb7dceeb48fa9a3ab277b5b66 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:10370 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2130759Reviewed-by: Zhi An Ng <zhin@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#66929}
-
Michael Lippautz authored
Quickfix to get non-clang bots green. Bug: v8:10370 Change-Id: I83591cd2bda94cd5aaffd023fe2b7068bdc7442f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2131066Reviewed-by: Anton Bikineev <bikineev@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#66928}
-
Anton Bikineev authored
This CL introduces - Member - WeakMember - UntracedMember interfaces. Remaining work is to add pointer verifier and write barrier implementation. Bug: chromium:1056170 Change-Id: Iddb8e4d002db0b1d1652f2946ddfa08a98a889c7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2124323 Commit-Queue: Anton Bikineev <bikineev@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Omer Katz <omerkatz@chromium.org> Cr-Commit-Position: refs/heads/master@{#66927}
-
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}
-
Marja Hölttä authored
The interpreter assumed that native context indices of the runtime functions are less than 256, which is not the case if intrinsics are at the end of the native context and we keep adding fields to native context. Also fix the operand type, so that we get a DCHECK failing if the ids don't fall into the expected range. Change-Id: I8bc13a90593739ec66cb0a507572cf5b2acc4235 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2129632 Commit-Queue: Marja Hölttä <marja@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#66925}
-
Michael Lippautz authored
Pure refactoring. The re-organization allows to easily add more platforms. Bug: chromium:1056170 Change-Id: Ia191c37a1dabff6952414c5314beeeae881713b7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2129636Reviewed-by: Anton Bikineev <bikineev@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#66924}
-
Joyee Cheung authored
Previously we use the error message for normal invalid private member access, so for a failed brand check for class C, the error is TypeError: Cannot read private member C from an object whose class did not declare it This updates the message to TypeError: Object must be an instance of class C Bug: v8:8330 Change-Id: Ida98f46b8387631194a9b7a48bd1f419045ac6e7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2100688 Commit-Queue: Joyee Cheung <joyee@igalia.com> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Shu-yu Guo <syg@chromium.org> Cr-Commit-Position: refs/heads/master@{#66923}
-
Anton Bikineev authored
This tests that the stack doesn't get misaligned after asm trampolines. x86 and x64 psABI requires the stack to be 16 bytes aligned. Bug: chromium:1056170 Change-Id: I73e7100806c6ecf3f5e884a121a15bcc384d8011 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2128048Reviewed-by: Anton Bikineev <bikineev@chromium.org> Reviewed-by: Omer Katz <omerkatz@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Anton Bikineev <bikineev@chromium.org> Cr-Commit-Position: refs/heads/master@{#66922}
-
Georg Neis authored
A previous CL made the mode an explicit argument but failed to keep SimplifiedLowering from overriding it. Moreover, CheckedUint64Bounds so far didn't support the two modes. Change-Id: I01d8bf90fca77940fbeb428da57608a59f812c75 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2124833 Commit-Queue: Georg Neis <neis@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#66921}
-
Michael Lippautz authored
Maintain a proper frame pointer in rbp when going through the trampoline. This ensures that e.g. gdb can properly unwind the stack. Bug: chromium:1056170 Change-Id: I7a9252316e7ce8d83cf54e1efc801b92476bc4ad Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2128050Reviewed-by: Anton Bikineev <bikineev@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#66920}
-
Leszek Swirski authored
We can make sure we exhaustively test all CreateArgumentsTypes by using a switch rather than if-else. Change-Id: Id00094eeb4cb0af212f5c939314aec72a30a3ee0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2128054Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#66919}
-
Georg Neis authored
In https://chromium-review.googlesource.com/c/v8/v8/+/2124837 we changed the behavior of CreateDynamicFunction such that it throws a TypeError if the operation is disallowed. The TypeError constructor was taken from the target context, which didn't make a lot of sense: the entered context doesn't have access to the function ctor's context, so it won't have access to an exception created in the function ctor's context either. With this CL, the TypeError constructor is taken from the entered context instead. Note that this is not necessarily the calling context (we don't generally know the calling context at this point). Bug: v8:10361, chromium:1065094 Change-Id: I09daa1f913a7e33841eb7fa0c00fca435df64b2f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2127866Reviewed-by: Jochen Eisinger <jochen@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Auto-Submit: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#66918}
-
Clemens Backes authored
If we want external people to stop shouting WASM, we should start by avoiding that in our own code base. This CL replaces almost all occurrences of "WASM" by "Wasm". The last remaining ones (in frames.cc) are in capitalized contexts where WASM fits. TBR=ecmziegler@chromium.org Bug: v8:10155 Change-Id: I905b92220768b99bb5e1165255691ffe4498dba3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2126917 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by: Emanuel Ziegler <ecmziegler@chromium.org> Cr-Commit-Position: refs/heads/master@{#66917}
-
- 30 Mar, 2020 4 commits
-
-
Ng Zhi An authored
For i8x16, most i8x16 should be done now. Drive by cleanup to remove unnecessary CpuFeatureScope (since they are in the macro assembler now). Bug: v8:9561 Change-Id: Ic4e9462eec62badfae7a5164562fdb167da76968 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2121169Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#66916}
-
Ng Zhi An authored
Bug: v8:9561 Bug: v8:10115 Change-Id: Iecec52c353e958a95e5508719cd7bd447ecc7bcc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2125507Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#66915}
-
Ulan Degenbaev authored
Bug: v8:6932 Change-Id: I9e77a41812c3ac9750cc4b03a8650c6e490df2a1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2128047 Auto-Submit: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#66914}
-
Michael Lippautz authored
Adds support for conservative stack scanning on x64. The trampolines saving callee-saved registers are compiled using clang (non-Windows) and MASM (Windows). This is using the default toolchain for assembly in Chromium/V8. This differs from Oilpan in Chromium where x86 and x64 are compiled using NASM [1]. V8 does not yet require this dependency and building the trampolines natively avoids it. (NASM also requires separate blocks for x64 Windows and non-Windows.) On non-x86/x64 platforms Chromium also uses clang, so there's little benefit in keeping the dependency. The trampolines are tested when building with clang. Other platforms follow in separate CLs. [1] https://source.chromium.org/chromium/chromium/src/+/master:third_party/blink/renderer/platform/heap/asm/SaveRegisters_x86.asm Change-Id: Ice2e23e44391aa94147abe75ee0b5afac458b8f8 Bug: chromium:1056170 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2124319 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Omer Katz <omerkatz@chromium.org> Reviewed-by: Hannes Payer <hpayer@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#66913}
-