- 31 Oct, 2019 26 commits
-
-
Igor Sheludko authored
This is a cleanup before we introduce StoreTypedElementJSAny<T: type>() which are necessary for porting %TypedArray%.from to Torque. Drive-by-fix: formatted third_party/v8/builtins/array-sort.tq Bug: v8:8906 Change-Id: Ic84cb763ae7e5d400b5d7f7b102baa497fe9fe91 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1893331 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#64690}
-
Nico Hartmann authored
Responsible CL reverted: https://chromium-review.googlesource.com/c/v8/v8/+/1891512 Test should now be stable again. Bug: v8:9192 Change-Id: I0cc65ab542f5e9e2c000506a7077bfaa7fefc92a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1893341Reviewed-by: Georg Neis <neis@chromium.org> Commit-Queue: Nico Hartmann <nicohartmann@chromium.org> Cr-Commit-Position: refs/heads/master@{#64689}
-
Ng Zhi An authored
These are SSE2 instructions that deal with scalar double precision values, and look like the packed double precision variant of the instructions, but with a prefix. E.g. sqrtpd is 66 0F 51, sqrtss is F2 0F 51. We don't put this in the same list, even though the implementation is very similar, because SSE2_INSTRUCTION_LIST is used in other macros which generate AVX versions of this, and that overlaps with another macro which generates AVX versions of these X-sd instructions. I will tease this apart and clean it up in subsequent changes. Bug: v8:9810 Change-Id: I0db64fe0d37df5685158331ce9f48bd1c763cc59 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1874510Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#64688}
-
Mythri A authored
When global object has proxies we should first call hasProperty and then call SetProperty if has property returns true. This cl fixes both StoreGlobal and StoreLookupGlobal to correctly handle these cases. Bug: chromium:1018871 Change-Id: I140514e2119c6bab2125abcdc1b19d46526be5ff Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1889885 Commit-Queue: Mythri Alle <mythria@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#64687}
-
Clemens Backes authored
R=ahaas@chromium.org Bug: v8:9919 Change-Id: I0739cfaa00abde3ce81831aa235c835277ea942c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1893338Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#64686}
-
Maya Lekova authored
Bug: v8:9876, v8:9932 Change-Id: Ib123a163f2b0bf96f4ef2248c22709d33bc9328a No-Try: true Change-Id: Ib123a163f2b0bf96f4ef2248c22709d33bc9328a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1893340 Auto-Submit: Maya Lekova <mslekova@chromium.org> Commit-Queue: Nico Hartmann <nicohartmann@chromium.org> Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> Cr-Commit-Position: refs/heads/master@{#64685}
-
Maya Lekova authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/2b40e7b..c6a9dde Rolling v8/buildtools: https://chromium.googlesource.com/chromium/src/buildtools/+log/cf454b2..140e4d7 Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/7568fa8..762db8a Rolling v8/third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools/+log/ebba8d7..512f92b Rolling v8/tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang/+log/662cbb8..35a0634 TBR=machenbach@chromium.org,tmrts@chromium.org Change-Id: I1a69d5455b6775eabac29db91144872060ae4412 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1889032Reviewed-by: Maya Lekova <mslekova@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Reviewed-by: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com> Commit-Queue: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#64684}
-
Maya Lekova authored
Implement the possibility to revisit the same function in the serializer using equality of its arguments. Bug: v8:7790 Change-Id: I609a6009bf503e378e50d0b32c6f1c13721d2557 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1863198 Commit-Queue: Maya Lekova <mslekova@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#64683}
-
Liviu Rau authored
Added a data_deps on v8_testrunner to solve the dependency issue, but also removed the individual files data dependencies since they become unnecessary. Bug: v8:9898 Change-Id: I2f7d8871acb64cb5709bc31bcbd4435ef055e4cf Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1890103 Commit-Queue: Liviu Rau <liviurau@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Reviewed-by: Tamer Tas <tmrts@chromium.org> Cr-Commit-Position: refs/heads/master@{#64682}
-
Thibaud Michaud authored
Type check the implicit else-branch of multi-value one-armed if blocks. R=ahaas@chromium.org BUG=chromium:1019648 Change-Id: I939d712e9cffd531c764f105cfb2e7c148d3b7dc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1890095 Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#64681}
-
Maya Lekova authored
Bug: v8:9914 Change-Id: I0bae9aadd89876e8505e1388903c86777694ee09 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1890100Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#64680}
-
Yang Guo authored
R=hpayer@chromium.org Change-Id: If3586bf451e08ab4bbf6d91b9f15382fad411219 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1868609 Auto-Submit: Yang Guo <yangguo@chromium.org> Commit-Queue: Hannes Payer <hpayer@chromium.org> Reviewed-by: Hannes Payer <hpayer@chromium.org> Cr-Commit-Position: refs/heads/master@{#64679}
-
Tobias Tebbi authored
Bug: v8:7793 Change-Id: Id454a12e515c693fec6ccf11976cbf5cceec25ae Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1893332 Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Nico Hartmann <nicohartmann@chromium.org> Auto-Submit: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> Cr-Commit-Position: refs/heads/master@{#64678}
-
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}
-
Tobias Tebbi authored
This has two advantages: - It improves error messages by avoiding wrong template instantiations. - More flexible overloads by disabling generics for overload resolution when their constraints are violated. Bug: v8:7793 Change-Id: I7d2b8ef736988e8de16d25a4a4b16b49e27c6a11 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1890097Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#64676}
-
Clemens Backes authored
{AsyncCompileJob::FinishCompile} sometimes takes a long time, especially if DevTools is open. A lot of time can be spent making the script(s) available to DevTools, or executing the {CompilationResultResolver}. This CL adds new trace scopes around these two sections to make this visible in the trace. R=mstarzinger@chromium.org Change-Id: Ia97f43e493dfb9ea5468710b877ec9ea8a0714b8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1889881Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#64675}
-
Clemens Backes authored
The {TurboAssembler} already has logic to use the {lzcnt} and {tzcnt} instructions if available, and otherwise falls back to a slightly optimized variant of the previous code. Thus, we just call these methods. Drive-by: Use {movl} instead of {Set} for constant values, for consistency, readability and performance. R=jkummerow@chromium.org Bug: v8:9919 Change-Id: I6028fa63c0adc70e8b4a3e61b8377a1eacce5040 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1891350Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#64674}
-
Santiago Aboy Solanes authored
Change-Id: I338ca9de7609eb0855054fe776b32c4e9321ac7c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1890104Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#64673}
-
Andreas Haas authored
Update the WebAssembly spec tests. Additional changes: * Enable tests that pass now: some proposals had out-dated tests. With the proposals being rebased, these tests pass now. * Run the multi-value proposal tests with --no-experimental-wasm-bulk-memory. We already enabled bulk-memory by default, but it includes some breaking changes. R=thibaudm@chromium.org Bug: v8:9673 Change-Id: Ic6de44fc01cee640c741d825dc70b1bdfb1297f4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1890096Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#64672}
-
Mythri A authored
With lazy feedback allocation we always miss to runtime for LdaGlobal till the feedback vector is allocated. This cl adds and uses a new builtin to handle some of the common cases in builtins instead of missing to runtime. Bug: chromium:988402 Change-Id: I5fe0a157234007d8771501df9f2a5ea3a9116862 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1841354 Commit-Queue: Mythri Alle <mythria@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#64671}
-
Mythri A authored
JSProxy::HasProperty returns Nothing<bool>() when there is an exception when executing has trap handler. We should not treat these cases similar to not found cases. Bug: chromium:1018871 Change-Id: I5510e707c96576d2dca4c8402e21a89065cc9b90 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1886919Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Mythri Alle <mythria@chromium.org> Cr-Commit-Position: refs/heads/master@{#64670}
-
Michael Achenbach authored
Bug: chromium:994387 Change-Id: I7b37a416ce6cc79903fe04923e86af1d0065ac37 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1890090Reviewed-by: Maya Lekova <mslekova@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#64669}
-
Clemens Backes authored
Merge CASE_I32_SIGN_EXTENSION with the identical CASE_I32_UNOP, and rename CASE_I64_SIGN_EXTENSION to CASE_I64_UNOP. This prepares the addition of more opcodes. R=ahaas@chromium.org Bug: v8:9919 Change-Id: Ie1611e2b937dffab221bfd9911e8b7f2350b9d19 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1889882Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#64668}
-
Jakob Gruber authored
The condition to detect an inline backing store was wrong and we would try to access the heap-allocated store even for inline stores. Drive-by: Use kBitsPerSystemPointer and the new kBitsPerSystemPointerLog2 constants. Change-Id: I19d0245ae82642a788c967534ab2a84464d56a67 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1890093 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Auto-Submit: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#64667}
-
Tobias Tebbi authored
Add information to CallInterfaceDescriptor if additional implicit arguments can be passed on the stack, that is, if it is a varargs calling convention. With this information, we can have a proper DCHECK in CSA to avoid passing the wrong number of arguments to builtins that don't support it. Previously, this lead to difficult to investigate crashes with misaligned stacks. Drive-by cleanup: Reduce duplication between DEFINE_PARAMETERS_... macros. Change-Id: I449af6713a3cdd72e098d3481dfee62e01343f14 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1888932Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#64666}
-
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 14 commits
-
-
Bill Budge authored
This reverts commit e2376aed. Reason for revert: Causes failures on multiple bots of regress-678917 https://ci.chromium.org/p/v8/builders/ci/V8%20Linux64%20-%20cfi/22459 Original change's description: > [heap] Promote young objects by default in MC > > Start experiment with promoting all young live objects during > mark-compact. This CL sets always_promote_young_mc to true by default. > > Change-Id: I306527ad2a361fc3e0edcf684c5ccec2b1d6e491 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1879938 > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> > Cr-Commit-Position: refs/heads/master@{#64630} TBR=ulan@chromium.org,dinfuehr@chromium.org Change-Id: I439dfee84a6795caa47f4c9a869ccef44a46a73f No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1891512Reviewed-by: Bill Budge <bbudge@chromium.org> Commit-Queue: Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#64664}
-
Frank Tang authored
Remove unicode keyword/value "ca" and "nu" from the resolvedOptions().locale, if it does not match the option "calendar" / "numberingSystem". Bug: v8:9887 Change-Id: Idabc7e266e8e5f847f919324a93e39df4df440c8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1877708Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Frank Tang <ftang@chromium.org> Cr-Commit-Position: refs/heads/master@{#64663}
-
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}
-
Deepti Gandluri authored
Bug: v8:9810 Change-Id: I585d35d01acf77d15ccb0e7334786d15ba07fb41 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1876634 Commit-Queue: Deepti Gandluri <gdeepti@chromium.org> Reviewed-by: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#64660}
-
Santiago Aboy Solanes authored
Bug: v8:9810 Change-Id: I2893c3066616b8fb5b3bebde4797adb0dac109c4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1889878 Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Reviewed-by: Maya Lekova <mslekova@chromium.org> Reviewed-by: Mythri Alle <mythria@chromium.org> Cr-Commit-Position: refs/heads/master@{#64659}
-
Ng Zhi An authored
These are SSE instructions that deal with scalar single precision values, and look like the packed single precision variant of the instructions, but with a prefix. E.g. sqrtps is NP 0F 51, sqrtss is F3 0F 51. Bug: v8:9810 Change-Id: I417ea6d4d85d8618ad6602a1b32d4428db0d66d2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1874509Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#64658}
-
Michael Starzinger authored
R=clemensb@chromium.org TEST=mjsunit/wasm/streaming-error-position Change-Id: Ia1e95f5c5b0f90a98848951333c4c4aa4ebafefe Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1889880 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#64657}
-
Joshua Litt authored
Bug: v8:9838 Change-Id: Ibdb985243fe121057f982712b2909f45e0ae175c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1869490 Commit-Queue: Joshua Litt <joshualitt@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#64656}
-
Georg Neis authored
... since we may be in the background. Print the HeapObjectRef instead, which will read the heap when it's allowed to do so. Bug: v8:9541 Change-Id: I201c6dcd83e1b050393d633e4d59aec636772da6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1889876 Auto-Submit: Georg Neis <neis@chromium.org> Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#64655}
-
Michael Starzinger authored
This fixes the streaming decoder to report the correct error position for repeating code sections (i.e. only one code section per module). R=clemensb@chromium.org Change-Id: Ie02d704d74b4e051fa9b00288dd6d1e46e2418a5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1890094 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#64654}
-
Clemens Backes authored
Each run of {OnFinishedUnits} can only trigger baseline completion or top tier completion at most once, so we can pull the call out of the loop. R=ahaas@chromium.org Change-Id: I7eaf42addbbaa9600cb9bf95dce76399be683971 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1889879Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#64653}
-
Milad Farazmand authored
Port b875f466 Original Commit Message: This is a reland of 4a16305b The original CL adjust only one part of the stack check, namely the comparison of the stack pointer against the stack limit in generated code. There is a second part: Runtime::kStackGuard repeats this check to distinguish between a stack overflow and an interrupt request. This second part in runtime must apply the offset just like in generated code. It is implemented in this reland by the StackCheckOffset operator and a new StackGuardWithGap runtime function. Original change's description: > [compiler] Optionally apply an offset to stack checks > > The motivation behind this change is that the frame size of an optimized > function and its unoptimized version may differ, and deoptimization > may thus trigger a stack overflow. The solution implemented in this CL > is to optionally apply an offset to the stack check s.t. the check > becomes 'sp - offset > limit'. The offset is applied to stack checks at > function-entry, and is set to the difference between the optimized and > unoptimized frame size. > > A caveat: OSR may not be fully handled by this fix since we've already > passed the function-entry stack check. A possible solution would be to > *not* skip creation of function-entry stack checks for inlinees. > > This CL: 1. annotates stack check nodes with the stack check kind, where > kind is one of {function-entry,iteration-body,unknown}. 2. potentially > allocates a temporary register to store the result of the 'sp - offset' > in instruction selection (and switches input registers to 'unique' > mode). 3. Applies the offset in code generation. > > Drive-by: Add src/compiler/globals.h for compiler-specific globals. > > Bug: v8:9534,chromium:1000887 > Change-Id: I257191c4a4978ccb60cfa5805ef421f30f0e9826 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1762521 > Commit-Queue: Jakob Gruber <jgruber@chromium.org> > Reviewed-by: Georg Neis <neis@chromium.org> > Cr-Commit-Position: refs/heads/master@{#63701} R=jgruber@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: I37bf1d9157a96a5d3538108703f2d7469a11bffe Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1890535Reviewed-by: Junliang Yan <jyan@ca.ibm.com> Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#64652}
-
Sigurd Schneider authored
This CL removes a GC invocation which might not be needed anymore. This CL picks up on a previous attempt to remove this invocation: crrev.com/c/928241 Bug: chromium:1005906, chromium:1019613 Change-Id: I487b5bfd51532fe60cd71444b53874f20eecdf16 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1883566Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#64651}
-