- 24 Jan, 2018 1 commit
-
-
Leszek Swirski authored
Bug: v8:7178 Change-Id: Ib86942acff8419699d739c6fb28479613b04e745 Reviewed-on: https://chromium-review.googlesource.com/878179 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#50846}
-
- 23 Jan, 2018 1 commit
-
-
Sigurd Schneider authored
Simplified lowering may loose feedback by inserting Checked conversions for BoundsChecks in case the bounds check gets optimized away later on. Bug: v8:7127 Change-Id: I254a29ba4e578d653d1dee2d70582ce0a4b57789 Reviewed-on: https://chromium-review.googlesource.com/878743Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#50783}
-
- 17 Jan, 2018 1 commit
-
-
Benedikt Meurer authored
This adds a new simplified operator NumberToString, which just lowers to a call to the NumberToString builtin, and hooks that up to the typed lowering (addressing a long-standing TODO). Drive-by-fix: Also remove the %NumberToString runtime entry, and just always use the %NumberToStringSkipCache entry from CSA, since we only go there if the cache lookup already failed. Bug: v8:5267, v8:7109 Change-Id: I5ca698c98679653813088a404f1fd38903a73c0e Reviewed-on: https://chromium-review.googlesource.com/779099 Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Michael Stanton <mvstanton@chromium.org> Cr-Commit-Position: refs/heads/master@{#50636}
-
- 16 Jan, 2018 5 commits
-
-
Mostyn Bramley-Moore authored
Bug: chromium:798964 Change-Id: If88093cc1f1c1793be570f37604a03d427821821 Reviewed-on: https://chromium-review.googlesource.com/868159Reviewed-by:
Ben Titzer <titzer@chromium.org> Commit-Queue: Mostyn Bramley-Moore <mostynb@vewd.com> Cr-Commit-Position: refs/heads/master@{#50630}
-
Michael Starzinger authored
R=clemensh@chromium.org Change-Id: I49ca12fc882dd19eb26b60ed64a36b023a836702 Reviewed-on: https://chromium-review.googlesource.com/868294Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#50626}
-
Clemens Hammacher authored
The implementation can be greatly simplified by using variadic templates. R=mstarzinger@chromium.org Change-Id: I8dbeea3d570bf0fac83109f334c48dbe39aaa853 Reviewed-on: https://chromium-review.googlesource.com/859785 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#50611}
-
Ben L. Titzer authored
This CL adds support for the "retpoline" construction on x64 https://support.google.com/faqs/answer/7625886 which protects against speculative execution of indirect calls. R=mstarzinger@chromium.org,jarin@chromium.org CC=eholk@chromium.org Bug: chromium:798964 Change-Id: I2aa5ab9a62dac53c67061378a0bc9cd2026ca7a2 Reviewed-on: https://chromium-review.googlesource.com/867063 Commit-Queue: Ben Titzer <titzer@chromium.org> Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#50608}
-
Clemens Hammacher authored
The implementation can be greatly simplified by using variadic templates. R=mstarzinger@chromium.org Change-Id: Ifbda09bc536c9660a83d1888b395e92367c9b03e Reviewed-on: https://chromium-review.googlesource.com/860458Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#50603}
-
- 15 Jan, 2018 2 commits
-
-
Andreas Haas authored
At the moment the slot index is encoded in the opcode. This, however, sets an upper limit the slot index which is lower than what we want to have (i.e. < 512). With this change we pass the slot index as an immediate operand, which does not impose limits on the value it contains. R=titzer@chromium.org Change-Id: Iab676186f41b8174bcc6c5a6053e6b0d5640ed3c Reviewed-on: https://chromium-review.googlesource.com/866721 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by:
Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#50586}
-
Andreas Haas authored
This is the implementation of crrev.com/c/766371 for arm64. Original description: Add the ability to return (multiple) return values on the stack: - Extend stack frames with a new buffer region for return slots. This region is located at the end of a caller's frame such that its slots can be indexed as caller frame slots in a callee (located beyond its parameters) and assigned return values. - Adjust stack frame constructon and deconstruction accordingly. - Extend linkage computation to support register plus stack returns. - Reserve return slots in caller frame when respective calls occur. - Introduce and generate architecture instructions ('peek') for reading back results from return slots in the caller. - Aggressive tests. - Some minor clean-up. R=v8-arm-ports@googlegroups.com Change-Id: I6e344a23f359861c9a1ff5a6511651c2176ce9a8 Reviewed-on: https://chromium-review.googlesource.com/842545Reviewed-by:
Ben Titzer <titzer@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#50585}
-
- 12 Jan, 2018 2 commits
-
-
Andreas Haas authored
This CL makes a fuzzer out of the cctest test-multiple-return/ReturnMultipleRandom. The fuzzer creates a CallDescriptor with input parameters and returns, and a function which maps input parameters to returns. The fuzzer then calls this function with a wrapper which checks that the correct mapping happened. R=clemensh@chromium.org Change-Id: Ib89c4063638baae69540a44486d7b2e9d13f8c1f Reviewed-on: https://chromium-review.googlesource.com/859768Reviewed-by:
Ben Titzer <titzer@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#50532}
-
Martyn Capewell authored
Unify PokeCSP/JSSP and ClaimCSP/JSSP, remove RestoreJSSP/CSP, and remove UseNativeStack. Bug: v8:6644 Change-Id: I482237a0e112f986c6155dce253749f55bd08f5f Reviewed-on: https://chromium-review.googlesource.com/860104Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Martyn Capewell <martyn.capewell@arm.com> Cr-Commit-Position: refs/heads/master@{#50531}
-
- 09 Jan, 2018 1 commit
-
-
Clemens Hammacher authored
This ensures that there is only one entrance point from C++ to generated code, hence only one method has to be excluded from CFI. It also introduces type safety by only allowing the code to be called with the right arguments. This CL includes minor drive-by fixes in the tests, like removing unused dummy variables. R=mstarzinger@chromium.org Bug: v8:7182 Change-Id: Ied9164a2497db9e7c032324c5e082094fdffc72d Reviewed-on: https://chromium-review.googlesource.com/852213Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#50426}
-
- 08 Jan, 2018 1 commit
-
-
Clemens Hammacher authored
In order to remove the CALL_GENERATED_CODE macro, it helps a lot to unify the interfaces of the simulators and make the Call method variadic in the number of arguments. This CL does that for each simulator. A follow-up CL will then completely remove the CALL_GENERATED_CODE macro and replace uses with the (new) GeneratedCode wrapper. R=mstarzinger@chromium.org Bug: v8:7182 Change-Id: I1f81445ec2faba30f0bd233b022ae1f0fae4e96f Reviewed-on: https://chromium-review.googlesource.com/850873 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#50413}
-
- 02 Jan, 2018 2 commits
-
-
Pierre Langlois authored
Extend the code-generator tests to cover AssembleMove and AssembleSwap with Simd128 registers and stack slots, for targets that support them. For this to work however, we need support for passing Simd128 stack parameters in TurboFan which this patch implements for Arm and x86. PPC and S390 both do not support the Simd128 representation and it appears MIPS and MIPS64's implementation of AssembleMove and AssembleSwap do not support it either. As per the design of the tests, the set of values to perform moves on are represented in a FixedArray of Smis (for kTagged) and HeapNumbers (for kFloat32 and kFloat64). They are converted to raw values for the moves to be performed on, to be then converted back into a FixedArray. For the kSimd128 representation, we represent values as a FixedArray of 4 Smis, each representing a lane. They are converted to a raw Simd128 vector using the `I32x4ReplaceLane` and `I32x4ExtractLane` operations. Finally, these tests need Simd128 variables mixed with the CodeStubAssembler which is not a use-case officially supported. And as a result, the `RecordWrite` stub does not guarantee to preserve Simd128 registers. To get around this, we have to be careful to skip write barriers when dealing with Simd128 parameters inside the "teardown" function, and we've had to move all allocations to the "setup" function. Thanks to this, we are able to catch bugs such as this one https://bugs.chromium.org/p/v8/issues/detail?id=6843. Bug: v8:6848 Change-Id: I8787d6339cdbfcd9356c5e8995925f0b45c562fa Reviewed-on: https://chromium-review.googlesource.com/728599 Commit-Queue: Pierre Langlois <pierre.langlois@arm.com> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#50326}
-
Clemens Hammacher authored
After https://crrev.com/c/832457, CheckedLoad is not being used any more. Thus, remove it from the TurboFan backend and from all tests. CheckedStore was already removed in https://crrev.com/c/822570. R=jarin@chromium.org CC=titzer@chromium.org, mstarzinger@chromium.org Change-Id: I2eeec2f4a9d0a10067db5cc25ec41366ae85e917 Reviewed-on: https://chromium-review.googlesource.com/832459 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#50323}
-
- 22 Dec, 2017 2 commits
-
-
Andreas Haas authored
Instead of these two instructions I generalize the kX64Peek instruction. R=bmeurer@chromium.org Change-Id: Ie5f8c7d428b65df3ca8b75594f6a06a75cc8e978 Reviewed-on: https://chromium-review.googlesource.com/839863 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#50294}
-
Andreas Haas authored
On 32-bit platforms, float64 stack returns take 2 stack slots. In the implemention of the kArmPeek instruction we assume that provided slot index points to the first stack slot. However, due to an off-by-1 issue the provided slot index pointed to the second stack slot. This CL fixes the problem and generalizes an existing test which reproduces it. R=v8-arm-ports@googlegroups.com Change-Id: Ibb2fd8275cf912da064e2f863c2d64d2526caaac Reviewed-on: https://chromium-review.googlesource.com/839761Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#50291}
-
- 21 Dec, 2017 1 commit
-
-
Georgia Kouveli authored
This patch updates the instruction selector and code generator to pad arguments for arm64 and drop an even number of slots when dropping the arguments. It also updates the builtins that handle arguments. These changes need to be made at the same time. It also adds some tests for forwarding varargs, as this was affected by the builtin changes and the existing tests did not catch all issues. Bug: v8:6644 Change-Id: I81318d1d1c9ab2568f84f2bb868d2a2d4cb56053 Reviewed-on: https://chromium-review.googlesource.com/829933 Commit-Queue: Georgia Kouveli <georgia.kouveli@arm.com> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#50259}
-
- 20 Dec, 2017 1 commit
-
-
Georgia Kouveli authored
This is a reland of bcf11729 The test was timing out in no snapshot builds, as each CodeAssemblerTester creates a new Context. Reduced the random iterations significantly. Original change's description: > [arm64] Preparation for padding of arguments > > As part of JSSP removal, we need to align the arguments passed to functions > on the stack, by adding a padding slot when the total number of arguments > is odd. > > This patch introduces the kPadArguments flag (which is currently set to > false for all architectures), which will control padding of arguments in > architecture-independent parts of the code (deoptimizer, instruction > selector). > > It also adds some executable tests for tail calls with various stack > parameter counts on the caller and callee sides. > > This will be turned on for arm64 together with arm64-specific changes to > the code generator, the MacroAsembler and the builtins, in a later patch. > > Bug: v8:6644 > Change-Id: I79a5c149123fe8130cedd1ccffec3d9b50361e08 > Reviewed-on: https://chromium-review.googlesource.com/806554 > Commit-Queue: Georgia Kouveli <georgia.kouveli@arm.com> > Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> > Cr-Commit-Position: refs/heads/master@{#50134} TBR=jarin@chromium.org Bug: v8:6644 Change-Id: I795877ed9791e126ffac6841dbbb65189e95d207 Reviewed-on: https://chromium-review.googlesource.com/833046 Commit-Queue: Georgia Kouveli <georgia.kouveli@arm.com> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#50238}
-
- 19 Dec, 2017 1 commit
-
-
Andreas Haas authored
There was an issue when the caller of a function with multiple returns did not use all values which were returned over the stack. The caller used only the used returns to calculate the offsets on the stack, whereas the callee used all returns to calculate the offsets. With this CL also the caller uses all returns to calculate the stack offsets and thereby agrees again with the callee on the location of all returns. In addition I fixed an issue on x64: A quad word is reserved on the stack frame to spill callee-saved FP registers, which is not pointer size. R=titzer@chromium.org Change-Id: Ibe56b4b57e4b6e59071a868805b1237412344f93 Reviewed-on: https://chromium-review.googlesource.com/824043Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#50193}
-
- 18 Dec, 2017 1 commit
-
-
Sigurd Schneider authored
This change is quite invasive, because CheckSmi is lowered through representation change depending on UseInfo to several different checked conversion operators. This CL adds feedback to every checked conversion operator to Int32. Bug: v8:7127, v8:7204 Change-Id: Icb780e5a69d321c2ec161c3c2a32984bdcf101f1 Reviewed-on: https://chromium-review.googlesource.com/831521Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#50167}
-
- 16 Dec, 2017 1 commit
-
-
Michael Achenbach authored
This reverts commit bcf11729. Reason for revert: https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20nosnap%20-%20debug/builds/16791 The test cctest/test-run-tail-calls/FuzzStackParamCount hangs on the nosnap debug bot and times out. Original change's description: > [arm64] Preparation for padding of arguments > > As part of JSSP removal, we need to align the arguments passed to functions > on the stack, by adding a padding slot when the total number of arguments > is odd. > > This patch introduces the kPadArguments flag (which is currently set to > false for all architectures), which will control padding of arguments in > architecture-independent parts of the code (deoptimizer, instruction > selector). > > It also adds some executable tests for tail calls with various stack > parameter counts on the caller and callee sides. > > This will be turned on for arm64 together with arm64-specific changes to > the code generator, the MacroAsembler and the builtins, in a later patch. > > Bug: v8:6644 > Change-Id: I79a5c149123fe8130cedd1ccffec3d9b50361e08 > Reviewed-on: https://chromium-review.googlesource.com/806554 > Commit-Queue: Georgia Kouveli <georgia.kouveli@arm.com> > Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> > Cr-Commit-Position: refs/heads/master@{#50134} TBR=rmcilroy@chromium.org,jarin@chromium.org,georgia.kouveli@arm.com Change-Id: Iff4d7da418204834822842b160eacb8980058172 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:6644 Reviewed-on: https://chromium-review.googlesource.com/830847Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#50144}
-
- 15 Dec, 2017 2 commits
-
-
Ben L. Titzer authored
Bug: Change-Id: I1f4a9d06e91a0523e590a77f8073800d6f1994d6 Reviewed-on: https://chromium-review.googlesource.com/830393 Commit-Queue: Ben Titzer <titzer@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#50140}
-
Georgia Kouveli authored
As part of JSSP removal, we need to align the arguments passed to functions on the stack, by adding a padding slot when the total number of arguments is odd. This patch introduces the kPadArguments flag (which is currently set to false for all architectures), which will control padding of arguments in architecture-independent parts of the code (deoptimizer, instruction selector). It also adds some executable tests for tail calls with various stack parameter counts on the caller and callee sides. This will be turned on for arm64 together with arm64-specific changes to the code generator, the MacroAsembler and the builtins, in a later patch. Bug: v8:6644 Change-Id: I79a5c149123fe8130cedd1ccffec3d9b50361e08 Reviewed-on: https://chromium-review.googlesource.com/806554 Commit-Queue: Georgia Kouveli <georgia.kouveli@arm.com> Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#50134}
-
- 12 Dec, 2017 2 commits
-
-
Ben L. Titzer authored
This operation was used to implement asm.js stores, but is obsolete with asm.js stores now being lowered to normal graph nodes. R=mstarzinger@chromium.org CC=jarin@chromium.org Bug: Change-Id: Iea90b1a62be2e273c0562058642adc5b63ae2cf8 Reviewed-on: https://chromium-review.googlesource.com/822570 Commit-Queue: Ben Titzer <titzer@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#50046}
-
Andreas Haas authored
The original CL introduced a test which uses a random number generator. I disable the test for now, which is okay because this CL adds to a work-in-progress feature anyways, and I will fix the problem in another CL. Original description: Add the ability to return (multiple) return values on the stack: - Extend stack frames with a new buffer region for return slots. This region is located at the end of a caller's frame such that its slots can be indexed as caller frame slots in a callee (located beyond its parameters) and assigned return values. - Adjust stack frame constructon and deconstruction accordingly. - Extend linkage computation to support register plus stack returns. - Reserve return slots in caller frame when respective calls occur. - Introduce and generate architecture instructions ('peek') for reading back results from return slots in the caller. - Aggressive tests. - Some minor clean-up. So far, only ia32 and x64 are implemented. Change-Id: I8b03fc4e53946daaa0e14a34603f4824a04fad7e Reviewed-on: https://chromium-review.googlesource.com/819557Reviewed-by:
Ben Titzer <titzer@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#50031}
-
- 11 Dec, 2017 2 commits
-
-
Andreas Haas authored
This reverts commit 1e49864f. Reason for revert: Crashing test on the waterfall https://logs.chromium.org/v/?s=chromium%2Fbb%2Fclient.v8%2FV8_Linux_gcc_4.8%2F16871%2F%2B%2Frecipes%2Fsteps%2FCheck%2F0%2Flogs%2FReturnMultipleRandom%2F0 Original change's description: > [turbofan] Implement on-stack returns (Intel) > > Add the ability to return (multiple) return values on the stack: > > - Extend stack frames with a new buffer region for return slots. > This region is located at the end of a caller's frame such that > its slots can be indexed as caller frame slots in a callee > (located beyond its parameters) and assigned return values. > - Adjust stack frame constructon and deconstruction accordingly. > - Extend linkage computation to support register plus stack returns. > - Reserve return slots in caller frame when respective calls occur. > - Introduce and generate architecture instructions ('peek') for > reading back results from return slots in the caller. > - Aggressive tests. > - Some minor clean-up. > > So far, only ia32 and x64 are implemented. > > Change-Id: I9532ad13aa307c1dec40548c5b84600fe2f762ce > Reviewed-on: https://chromium-review.googlesource.com/766371 > Commit-Queue: Andreas Haas <ahaas@chromium.org> > Reviewed-by: Ben Titzer <titzer@chromium.org> > Cr-Commit-Position: refs/heads/master@{#49994} TBR=titzer@chromium.org,rossberg@chromium.org,ahaas@chromium.org Change-Id: Ib257e92448942f8ef07d5ef246f9381f4784f014 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/819637Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#50000}
-
Andreas Haas authored
Add the ability to return (multiple) return values on the stack: - Extend stack frames with a new buffer region for return slots. This region is located at the end of a caller's frame such that its slots can be indexed as caller frame slots in a callee (located beyond its parameters) and assigned return values. - Adjust stack frame constructon and deconstruction accordingly. - Extend linkage computation to support register plus stack returns. - Reserve return slots in caller frame when respective calls occur. - Introduce and generate architecture instructions ('peek') for reading back results from return slots in the caller. - Aggressive tests. - Some minor clean-up. So far, only ia32 and x64 are implemented. Change-Id: I9532ad13aa307c1dec40548c5b84600fe2f762ce Reviewed-on: https://chromium-review.googlesource.com/766371 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by:
Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#49994}
-
- 04 Dec, 2017 2 commits
-
-
Georgia Kouveli authored
This is to avoid calling AssembleTailCallBeforeGap and AssembleTailCallAfterGap directly where possible (so making the tests less dependent on the code generator interface when we're not directly testing it). It also makes sure that the instruction we pass to AssembleTailCallBeforeGap and AssembleTailCallAfterGap is indeed a tail call, with the immediate argument that specifies the stack delta. This is to prepare for padding arguments for arm64 JSSP removal. We will need to store padding in AssembleTailCallAfterGap, which will need the information from a TailCall instruction. Bug: v8:6644 Change-Id: Ia5485412a4244c7b2a133aa0541b9f8285680de4 Reviewed-on: https://chromium-review.googlesource.com/806117Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Georgia Kouveli <georgia.kouveli@arm.com> Cr-Commit-Position: refs/heads/master@{#49833}
-
Georg Neis authored
The motivation is to avoid bugs such as the one fixed in https://chromium-review.googlesource.com/c/v8/v8/+/800270. Bug: v8:7109 Change-Id: I82a55f4a78d289d00ae7bafe78b45d92bab07a6b Reviewed-on: https://chromium-review.googlesource.com/800291Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#49829}
-
- 02 Dec, 2017 1 commit
-
-
Mathias Bynens authored
This patch normalizes the casing of hexadecimal digits in escape sequences of the form `\xNN` and integer literals of the form `0xNNNN`. Previously, the V8 code base used an inconsistent mixture of uppercase and lowercase. Google’s C++ style guide uses uppercase in its examples: https://google.github.io/styleguide/cppguide.html#Non-ASCII_Characters Moreover, uppercase letters more clearly stand out from the lowercase `x` (or `u`) characters at the start, as well as lowercase letters elsewhere in strings. BUG=v8:7109 TBR=marja@chromium.org,titzer@chromium.org,mtrofin@chromium.org,mstarzinger@chromium.org,rossberg@chromium.org,yangguo@chromium.org,mlippautz@chromium.org NOPRESUBMIT=true Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: I790e21c25d96ad5d95c8229724eb45d2aa9e22d6 Reviewed-on: https://chromium-review.googlesource.com/804294 Commit-Queue: Mathias Bynens <mathias@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#49810}
-
- 01 Dec, 2017 2 commits
-
-
Clemens Hammacher authored
Some uses use uint64_t instead of int64_t to avoid compiler warnings about illegal narrowing of values with the MSB set. R=tebbi@chromium.org,mlippautz@chromium.org Bug: v8:7109 Change-Id: I6e861f48828bd931c451ef336672a260c13ae042 Reviewed-on: https://chromium-review.googlesource.com/803275 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#49797}
-
Clemens Hammacher authored
V8_INT64_C will be cleaned up in a follow-up CL. R=tebbi@chromium.org,mlippautz@chromium.org Bug: v8:7109 Change-Id: I6af97e7266039eb443896b404b77b8e2b5de5adb Reviewed-on: https://chromium-review.googlesource.com/803294Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#49790}
-
- 16 Nov, 2017 1 commit
-
-
Michael Starzinger authored
This ensures that the {Code::builtin_index} field is only set during allocation of new {Code} objects, making this field truly immutable. R=jgruber@chromium.org BUG=v8:6792 Change-Id: Ic793346976183149e2d077e92cb9da3c925ea865 Reviewed-on: https://chromium-review.googlesource.com/774439Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#49414}
-
- 15 Nov, 2017 2 commits
-
-
Ross McIlroy authored
Removes Isolate from compilation info and instead threads isolate through function calls. This ensures that we can't access the isolate from background thread compilations. BUG=v8:5203 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: I9a4e1cd67c4736e36f609360b996fb55166a1c50 Reviewed-on: https://chromium-review.googlesource.com/751745 Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#49386}
-
Toon Verwaest authored
Bug: v8:7065 Cq-Include-Trybots: master.tryserver.v8:v8_linux_noi18n_rel_ng Change-Id: I7882b719f72561cd22b874eae239000936fad35c Reviewed-on: https://chromium-review.googlesource.com/768874 Commit-Queue: Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#49381}
-
- 07 Nov, 2017 1 commit
-
-
Michael Starzinger authored
R=clemensh@chromium.org BUG=v8:6792 Change-Id: Ida4a0c063232a01c9526d478530fc9adf1e6ee24 Reviewed-on: https://chromium-review.googlesource.com/756740 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#49181}
-
- 01 Nov, 2017 1 commit
-
-
Leszek Swirski authored
Rather than having a single script compilation timer, split it into multiple timers depending on the state of the (blink-owned) code cache and (v8-owned) complation cache. This is intended to replace both the script compilation time timer, and the compilation heuristic enum. Also keep track of why blink might not want us to produce (or consume) a code cache, and split the compilation timer on this as well. Note, there is currently no timer for streaming sources, so these won't show up in the histograms. Bug: chromium:582873 Bug: chromium:769203 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: Ia32fff044f919e20e3cec73329e62e01e421b72a Reviewed-on: https://chromium-review.googlesource.com/746922 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#49065}
-
- 26 Oct, 2017 1 commit
-
-
Michael Starzinger authored
This moves the initialization of the {Code::stub_key} field into the allocator for {Code} objects, essentially making the field in question immutable after allocation. R=verwaest@chromium.org BUG=v8:6792 Change-Id: I8ba2ffeea792d0d566995c08e3572ae63a7c1e94 Reviewed-on: https://chromium-review.googlesource.com/739141 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#48971}
-