- 10 Jun, 2020 1 commit
-
-
Jakob Gruber authored
This is a reland of 8748613f, fixing an issue accessing binary op's BinaryOperationHints. Original change's description: > [compiler] Hook in binary op builtins with feedback in generic lowering > > If --turbo-nci is enabled, use binary op builtins with feedback > collection during generic lowering. > > Bug: v8:8888 > Change-Id: I307dc742488982bdc68006be5bcd1da8e68768f5 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2228614 > Commit-Queue: Jakob Gruber <jgruber@chromium.org> > Reviewed-by: Georg Neis <neis@chromium.org> > Cr-Commit-Position: refs/heads/master@{#68227} Bug: v8:8888,chromium:1092553 Change-Id: I1356659d65a5e46bc57bb6c0ebe2e9e86cb8be81 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2237128 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#68288}
-
- 08 Jun, 2020 2 commits
-
-
Leszek Swirski authored
This reverts commit 8748613f. Reason for revert: MSAN failures (https://ci.chromium.org/p/v8/builders/ci/V8%20Linux%20-%20arm64%20-%20sim%20-%20MSAN/32760?) Original change's description: > [compiler] Hook in binary op builtins with feedback in generic lowering > > If --turbo-nci is enabled, use binary op builtins with feedback > collection during generic lowering. > > Bug: v8:8888 > Change-Id: I307dc742488982bdc68006be5bcd1da8e68768f5 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2228614 > Commit-Queue: Jakob Gruber <jgruber@chromium.org> > Reviewed-by: Georg Neis <neis@chromium.org> > Cr-Commit-Position: refs/heads/master@{#68227} TBR=neis@chromium.org,jgruber@chromium.org Change-Id: I635b1a5a28b25ce29e4f8bc23eb52841885b0cdf No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:8888 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2235535Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#68229}
-
Jakob Gruber authored
If --turbo-nci is enabled, use binary op builtins with feedback collection during generic lowering. Bug: v8:8888 Change-Id: I307dc742488982bdc68006be5bcd1da8e68768f5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2228614 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#68227}
-
- 02 Jun, 2020 1 commit
-
-
Jakob Gruber authored
If --turbo-nci is enabled, use compare op builtins with feedback collection during generic lowering. Bug: v8:8888 Change-Id: I886020e2ee280f65388d9987c70958546f99e0f3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2215821Reviewed-by: Georg Neis <neis@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#68100}
-
- 26 May, 2020 1 commit
-
-
Jakob Gruber authored
If --turbo-nci is enabled, use unary op builtins with feedback collection during generic lowering. Bug: v8:8888 Change-Id: Ie32cfe1558a7fbada2ac69a99ef969097558bc89 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2209067 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#67962}
-
- 21 Aug, 2019 1 commit
-
-
Maya Lekova authored
Bug: v8:7790 Change-Id: I42ef762bdc9340d4cb8f03186c1961eddf35e46b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1762516 Commit-Queue: Maya Lekova <mslekova@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#63320}
-
- 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}
-
- 01 Apr, 2019 1 commit
-
-
Georg Neis authored
It was missing a control output. Bug: chromium:946889 Change-Id: I85f203fc6e27a60f0b86e0e2999dd798a5416dfc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1547655 Commit-Queue: Georg Neis <neis@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#60549}
-
- 21 Jun, 2018 1 commit
-
-
Igor Sheludko authored
Bug: v8:7754, v8:6600 Change-Id: I4db943d4a4a02a14bba670f89661ea98c5e306dd Reviewed-on: https://chromium-review.googlesource.com/1107919 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#53907}
-
- 19 Oct, 2017 1 commit
-
-
Mike Stanton authored
Because the toboolean operator may lower to a builtin call (which is effectful in turbofan parlance after effect control linearization), it really should be encoded as a simplified operator, which can be optimized with respect for the effect chain in linearization. No new functionality here, rather a furniture rearrangement in the TurboFan node structure. Bug: v8:6929 Change-Id: I371fd22941397d5c28d13bded2738161d8da8275 Reviewed-on: https://chromium-review.googlesource.com/725721Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Michael Stanton <mvstanton@chromium.org> Cr-Commit-Position: refs/heads/master@{#48727}
-
- 11 Jul, 2017 1 commit
-
-
Alexandre Talon authored
Each reducer now has a virtual reducer_name function, returning its name (the name of the class containing this reducer). This gets displayed when using the --trace_turbo_reduction flag. Also when using this flags more messages are displayed. Actually when a node is replaced in-place (which is called an update of the node), other reducers can still update it right after the in-place replacement. When a node is really replaced (not in-place), then we stop trying to apply reducers to it before we propagate the reduction through the relevant nodes. Before a message got printed only for the last reduction it went through. So in case a node was reduced in-place several times in a row, only the last update was printed, or none at all if after being reduced in-place it got reduced by being replaced by another node: only the non-in-place replacement was showed. Now each time an in-place reduction is applied to a node, a message gets printed. Bug: Change-Id: Id0f816fecd44c01d0253966c6decc4861be0c2fa Reviewed-on: https://chromium-review.googlesource.com/563365Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Alexandre Talon <alexandret@google.com> Cr-Commit-Position: refs/heads/master@{#46552}
-
- 08 Feb, 2017 1 commit
-
-
cbruni authored
Review-Url: https://codereview.chromium.org/2684043002 Cr-Commit-Position: refs/heads/master@{#43040}
-
- 21 Apr, 2016 1 commit
-
-
bmeurer authored
This way the first scheduler can properly wire them to the effect chain, as otherwise the second scheduler could schedule them such that they would be able to read uninitialized memory (once we drop the region protection in the first scheduler). R=jarin@chromium.org Review URL: https://codereview.chromium.org/1908963002 Cr-Commit-Position: refs/heads/master@{#35707}
-
- 11 Apr, 2016 1 commit
-
-
bmeurer authored
We had exactly one test case for --noturbo-types, so it's likely that the generic pipeline (without types) was already broken for quite some time, plus no one expressed interest in maintaining it, plus it complicates the JSGenericLowering integration. So decision is to kill it. R=jarin@chromium.org Review URL: https://codereview.chromium.org/1872333002 Cr-Commit-Position: refs/heads/master@{#35387}
-
- 26 Feb, 2016 1 commit
-
-
bmeurer authored
The CompareICStub produces an untagged raw word value, which has to be translated to true or false manually in the TurboFan code. But for lazy bailout after the CompareIC, we immediately go back to fullcodegen or Ignition with the raw value, to a location where both fullcodegen and Ignition expect a boolean value, which might crash or in the worst case (depending on the exact computation inside the CompareIC) could lead to arbitrary memory access. Short-term fix is to use the proper runtime functions (unified with the interpreter now) for comparisons. Next task is to provide optimized versions of these based on the CodeStubAssembler, which can then be used via code stubs in TurboFan or directly in handlers in the interpreter. R=mstarzinger@chromium.org BUG=v8:4788 LOG=n Review URL: https://codereview.chromium.org/1738153002 Cr-Commit-Position: refs/heads/master@{#34335}
-
- 16 Feb, 2016 1 commit
-
-
mstarzinger authored
R=bmeurer@chromium.org BUG=v8:3956 LOG=n Review URL: https://codereview.chromium.org/1693833002 Cr-Commit-Position: refs/heads/master@{#34036}
-
- 04 Sep, 2015 1 commit
-
-
bmeurer authored
Similar to DELETE, the IN builtin is just a thin wrapper for %HasElement and %HasProperty anyway, and cannot be optimized, plus it had a weird special fast case (which also involved at least one LOAD_IC plus some intrinsic magic). R=yangguo@chromium.org,jarin@chromium.org CQ_INCLUDE_TRYBOTS=tryserver.v8:v8_win_nosnap_shared_rel Committed: https://crrev.com/72d60a1e80e81e2e68ca402665e2acbc46c5e471 Cr-Commit-Position: refs/heads/master@{#30154} Review URL: https://codereview.chromium.org/1295433002 Cr-Commit-Position: refs/heads/master@{#30582}
-
- 01 Sep, 2015 1 commit
-
-
pcc authored
We were previously reading a language mode from all comparison nodes in JSGenericLowering::ReplaceWithCompareIC. This read was invalid for {,Strict}{,Not}Equal nodes, as these nodes do not have a language mode, as they derive from Operator rather than from Operator1<LanguageMode>. Because these nodes are not language mode dependent, we arbitrarily pass Strength::WEAK to CodeFactory::CompareIC. Cleanup for cfi_vptr=1; see https://www.chromium.org/developers/testing/control-flow-integrity BUG=chromium:457523 R=bmeurer@chromium.org LOG=N Review URL: https://codereview.chromium.org/1319463003 Cr-Commit-Position: refs/heads/master@{#30491}
-
- 27 Aug, 2015 1 commit
-
-
yangguo authored
R=bmeurer@chromium.org, mstarzinger@chromium.org, rmcilroy@chromium.org Review URL: https://codereview.chromium.org/1316943002 Cr-Commit-Position: refs/heads/master@{#30402}
-
- 15 Jun, 2015 1 commit
-
-
bmeurer authored
The TryLowerDirectJSCall method tried to lower to a direct JavaScript function call depending on the type of the receiver, but only if the target is a cosntant JSFunction. Since this depends on types and is not required for correctness, it shouldn't be part of generic lowering anyway. So this functionality was moved to typed lowering instead, and we use proper types for the target instead. R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/1182193005 Cr-Commit-Position: refs/heads/master@{#29028}
-
- 20 Apr, 2015 1 commit
-
-
Ross McIlroy authored
R=jochen@chromium.org Review URL: https://codereview.chromium.org/1088993003 Cr-Commit-Position: refs/heads/master@{#27937}
-
- 09 Mar, 2015 1 commit
-
-
Benedikt Meurer authored
Include what you use, and move implementation details to .cc file. R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/986243002 Cr-Commit-Position: refs/heads/master@{#27062}
-
- 17 Feb, 2015 1 commit
-
-
mstarzinger authored
R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/931233003 Cr-Commit-Position: refs/heads/master@{#26706}
-
- 11 Feb, 2015 1 commit
-
-
svenpanne authored
A CompilationInfo constructed from just an Isolate* and a Zone* is in weird an inconsistent state (calling e.g. flags() on it will crash), so we need to avoid them. This CL removes almost all of them, the remaining 2 call sites in (for testing only) will be handled in a separate CL. Things which have been changed: * Linkage is basically a decorator for CallDescriptor now. * ChangeLowering doesn't need Linkage at all. * JSGenericLowering doesn't need a full CompilationInfo*, just a single flag. * JSContextSpecializer doesn't need the full CompilationInfo, just a Context. * Removed unused CompilationInfo from SimplifiedLoweringTester. This nicely decouples things already a bit more, but there's still work to do... Review URL: https://codereview.chromium.org/899803003 Cr-Commit-Position: refs/heads/master@{#26580}
-
- 23 Jan, 2015 1 commit
-
-
danno authored
Along the way: - Thread isolate parameter explicitly through code that used to rely on getting it from the zone. - Canonicalize the parameter position of isolate and zone for affected code - Change Hydrogen New<> instruction templates to automatically pass isolate R=mstarzinger@chromium.org LOG=N Review URL: https://codereview.chromium.org/868883002 Cr-Commit-Position: refs/heads/master@{#26252}
-
- 22 Dec, 2014 1 commit
-
-
Benedikt Meurer authored
Following the Google/Chromium coding style wrt. virtual, OVERRIDE and FINAL specifications. TEST=unittests R=jochen@chromium.org Review URL: https://codereview.chromium.org/816453005 Cr-Commit-Position: refs/heads/master@{#25924}
-
- 15 Dec, 2014 1 commit
-
-
bmeurer authored
The ToNumberStub is now able to handle all plain primitives (Numbers, Booleans, Null, Undefined and Strings) without context access. TEST=cctest,mjsunit,unittests Review URL: https://codereview.chromium.org/801333002 Cr-Commit-Position: refs/heads/master@{#25814}
-
- 10 Dec, 2014 1 commit
-
-
Benedikt Meurer authored
TEST=cctest R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/790123002 Cr-Commit-Position: refs/heads/master@{#25743}
-
- 08 Dec, 2014 1 commit
-
-
Benedikt Meurer authored
Use the Operator::kPure flag instead, which determines whether the JS operator has effect/control edges. R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/720233006 Cr-Commit-Position: refs/heads/master@{#25707}
-
- 27 Nov, 2014 2 commits
-
-
mstarzinger authored
R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/761143002 Cr-Commit-Position: refs/heads/master@{#25548}
-
mstarzinger authored
R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/750333003 Cr-Commit-Position: refs/heads/master@{#25547}
-
- 03 Nov, 2014 1 commit
-
-
titzer@chromium.org authored
Now with more checkings! Skip the CallFunctionStub when the callee function can be statically determined. R=mstarzinger@chromium.org BUG= Review URL: https://codereview.chromium.org/696223002 Cr-Commit-Position: refs/heads/master@{#25062} git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25062 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 31 Oct, 2014 2 commits
-
-
jarin@chromium.org authored
This reverts commit 9845dfad (r25042) for failing tests. TBR=titzer@chromium.org BUG= Review URL: https://codereview.chromium.org/693103004 Cr-Commit-Position: refs/heads/master@{#25044} git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25044 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
titzer@chromium.org authored
R=mstarzinger@chromium.org BUG= Review URL: https://codereview.chromium.org/694773002 Cr-Commit-Position: refs/heads/master@{#25042} git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25042 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 01 Oct, 2014 1 commit
-
-
mstarzinger@chromium.org authored
R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/619043002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24358 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 30 Sep, 2014 1 commit
-
-
bmeurer@chromium.org authored
Also cleanup the interface, and make the parameter class/accessors explicit to work-around the type-unsafety of OpParameter<T>. TEST=compiler-unittests,cctest,mjsunit R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/613683002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24322 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 12 Sep, 2014 1 commit
-
-
mstarzinger@chromium.org authored
R=mvstanton@chromium.org Review URL: https://codereview.chromium.org/565893002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23918 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 11 Sep, 2014 1 commit
-
-
mvstanton@chromium.org authored
Turbofan needs a code handle and a CallInterfaceDescriptor. At the same time we spread knowledge about how to create the initial IC code object too widely. Consolidate code creation and unify it with a descriptor via CodeFactory. R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/567433002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23877 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 10 Sep, 2014 1 commit
-
-
bmeurer@chromium.org authored
TEST=compiler-unittests,cctest R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/555283004 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23837 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 29 Aug, 2014 1 commit
-
-
bmeurer@chromium.org authored
TEST=cctest,mjsunit R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/514643002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23506 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-