Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(78)

Issue 1824023002: VM: Fix a couple of issues in the AOT optimizer, add fast path smi multiply. (Closed)

Created:
4 years, 9 months ago by Florian Schneider
Modified:
4 years, 9 months ago
Reviewers:
srdjan
CC:
reviews_dartlang.org, vm-dev_dartlang.org
Base URL:
git@github.com:dart-lang/sdk.git@master
Target Ref:
refs/heads/master
Visibility:
Public.

Description

VM: Fix a couple of issues in the AOT optimizer, add fast path smi multiply. 1. Add fast path smi multiply 2. Recognize more operands as likely smi: If they are the result another CheckedSmiOp, or the result of a phi that has a known smi. 3. Fix guessing receiver cids of getters/setters based. 4. Try to specialize calls based on propagated receiver type first before using guessed cids (which generates a call with checks + megamorphic slow path) BUG= Committed: https://github.com/dart-lang/sdk/commit/6d27476cd1e7892ea7ad4b946d6ab97b1d3b399b

Patch Set 1 #

Total comments: 4

Patch Set 2 : addressed comment #

Patch Set 3 : updated inlining of numeric operators #

Unified diffs Side-by-side diffs Delta from patch set Stats (+122 lines, -71 lines) Patch
M runtime/vm/aot_optimizer.cc View 1 2 5 chunks +68 lines, -71 lines 0 comments Download
M runtime/vm/intermediate_language_arm.cc View 1 2 1 chunk +7 lines, -0 lines 0 comments Download
M runtime/vm/intermediate_language_arm64.cc View 1 2 1 chunk +8 lines, -0 lines 0 comments Download
M runtime/vm/intermediate_language_mips.cc View 1 2 1 chunk +8 lines, -0 lines 0 comments Download
M runtime/vm/intermediate_language_x64.cc View 1 2 2 chunks +7 lines, -0 lines 0 comments Download
M runtime/vm/method_recognizer.h View 1 2 1 chunk +24 lines, -0 lines 0 comments Download

Messages

Total messages: 7 (2 generated)
Florian Schneider
4 years, 9 months ago (2016-03-22 15:08:59 UTC) #2
srdjan
LGTMwC and one question https://codereview.chromium.org/1824023002/diff/1/runtime/vm/aot_optimizer.cc File runtime/vm/aot_optimizer.cc (left): https://codereview.chromium.org/1824023002/diff/1/runtime/vm/aot_optimizer.cc#oldcode230 runtime/vm/aot_optimizer.cc:230: // Check if getter or ...
4 years, 9 months ago (2016-03-22 16:37:23 UTC) #3
Florian Schneider
https://codereview.chromium.org/1824023002/diff/1/runtime/vm/aot_optimizer.cc File runtime/vm/aot_optimizer.cc (left): https://codereview.chromium.org/1824023002/diff/1/runtime/vm/aot_optimizer.cc#oldcode230 runtime/vm/aot_optimizer.cc:230: // Check if getter or setter in function's class ...
4 years, 9 months ago (2016-03-22 16:51:03 UTC) #4
Florian Schneider
I fixed the regression on Tracer by adjusting the inlining decisions for numeric operators. For ...
4 years, 9 months ago (2016-03-23 13:06:52 UTC) #5
Florian Schneider
4 years, 9 months ago (2016-03-25 15:52:21 UTC) #7
Message was sent while issue was closed.
Committed patchset #3 (id:40001) manually as
6d27476cd1e7892ea7ad4b946d6ab97b1d3b399b (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698