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

Issue 2904543002: Fix misoptimization of 'is' test (Closed)

Created:
3 years, 7 months ago by erikcorry
Modified:
3 years, 6 months ago
CC:
reviews_dartlang.org, vm-dev_dartlang.org
Target Ref:
refs/heads/master
Visibility:
Public.

Description

Fix misoptimization of 'is' test This also moves some common code from jit_optimizer.cc and aot_optimizer.cc to a new common file, optimizer.cc. The code is almost unchanged from the aot_optimizer.cc version, apart from the calls to PurgeNegativeTestCidsEntries. A flag emulates the behaviour of the simpler jit_optimizer.cc version. Benchmark tests are running to see which is better. R=vegorov@google.com BUG=https://github.com/dart-lang/sdk/issues/29695 Committed: https://github.com/dart-lang/sdk/commit/b7797ac45fe6d58d5dae6c4db3094afb1dfaa4bc

Patch Set 1 #

Patch Set 2 : Remove inadvertent change #

Total comments: 26

Patch Set 3 : Feedback from Slava, do same optimization on AOT and JIT #

Unified diffs Side-by-side diffs Delta from patch set Stats (+215 lines, -140 lines) Patch
M runtime/vm/aot_optimizer.cc View 1 2 3 chunks +4 lines, -69 lines 0 comments Download
M runtime/vm/intermediate_language.h View 1 2 1 chunk +7 lines, -9 lines 0 comments Download
M runtime/vm/intermediate_language.cc View 1 2 1 chunk +24 lines, -0 lines 0 comments Download
M runtime/vm/intermediate_language_arm.cc View 1 2 1 chunk +4 lines, -1 line 0 comments Download
M runtime/vm/intermediate_language_arm64.cc View 1 2 1 chunk +4 lines, -1 line 0 comments Download
M runtime/vm/intermediate_language_dbc.cc View 1 2 1 chunk +4 lines, -1 line 0 comments Download
M runtime/vm/intermediate_language_ia32.cc View 1 2 1 chunk +4 lines, -1 line 0 comments Download
M runtime/vm/intermediate_language_mips.cc View 1 2 1 chunk +4 lines, -1 line 0 comments Download
M runtime/vm/intermediate_language_x64.cc View 1 2 1 chunk +4 lines, -1 line 0 comments Download
M runtime/vm/jit_optimizer.cc View 1 2 3 chunks +3 lines, -56 lines 0 comments Download
A runtime/vm/optimizer.h View 1 2 1 chunk +27 lines, -0 lines 0 comments Download
A runtime/vm/optimizer.cc View 1 2 1 chunk +96 lines, -0 lines 0 comments Download
M runtime/vm/vm_sources.gypi View 1 chunk +2 lines, -0 lines 0 comments Download
A tests/standalone/regress_29695_test.dart View 1 2 1 chunk +28 lines, -0 lines 0 comments Download

Messages

Total messages: 9 (1 generated)
erikcorry
3 years, 7 months ago (2017-05-23 15:38:35 UTC) #1
Vyacheslav Egorov (Google)
lgtm https://codereview.chromium.org/2904543002/diff/20001/runtime/vm/aot_optimizer.cc File runtime/vm/aot_optimizer.cc (right): https://codereview.chromium.org/2904543002/diff/20001/runtime/vm/aot_optimizer.cc#newcode1448 runtime/vm/aot_optimizer.cc:1448: bool int_type_only = false; const kIntTypeOnly = false; ...
3 years, 7 months ago (2017-05-23 16:00:32 UTC) #2
erikcorry
https://codereview.chromium.org/2904543002/diff/20001/runtime/vm/optimizer.cc File runtime/vm/optimizer.cc (right): https://codereview.chromium.org/2904543002/diff/20001/runtime/vm/optimizer.cc#newcode50 runtime/vm/optimizer.cc:50: // TODO(srdjan): Do also for other than numeric types. ...
3 years, 7 months ago (2017-05-23 18:24:40 UTC) #3
Vyacheslav Egorov (Google)
https://codereview.chromium.org/2904543002/diff/20001/runtime/vm/optimizer.cc File runtime/vm/optimizer.cc (right): https://codereview.chromium.org/2904543002/diff/20001/runtime/vm/optimizer.cc#newcode50 runtime/vm/optimizer.cc:50: // TODO(srdjan): Do also for other than numeric types. ...
3 years, 7 months ago (2017-05-23 18:33:15 UTC) #4
erikcorry
https://codereview.chromium.org/2904543002/diff/20001/runtime/vm/optimizer.cc File runtime/vm/optimizer.cc (right): https://codereview.chromium.org/2904543002/diff/20001/runtime/vm/optimizer.cc#newcode50 runtime/vm/optimizer.cc:50: // TODO(srdjan): Do also for other than numeric types. ...
3 years, 7 months ago (2017-05-23 18:35:09 UTC) #5
Vyacheslav Egorov (Google)
https://codereview.chromium.org/2904543002/diff/20001/runtime/vm/optimizer.cc File runtime/vm/optimizer.cc (right): https://codereview.chromium.org/2904543002/diff/20001/runtime/vm/optimizer.cc#newcode50 runtime/vm/optimizer.cc:50: // TODO(srdjan): Do also for other than numeric types. ...
3 years, 7 months ago (2017-05-23 18:36:13 UTC) #6
erikcorry
https://codereview.chromium.org/2904543002/diff/20001/runtime/vm/aot_optimizer.cc File runtime/vm/aot_optimizer.cc (right): https://codereview.chromium.org/2904543002/diff/20001/runtime/vm/aot_optimizer.cc#newcode1448 runtime/vm/aot_optimizer.cc:1448: bool int_type_only = false; On 2017/05/23 16:00:31, Vyacheslav Egorov ...
3 years, 7 months ago (2017-05-24 13:37:16 UTC) #7
erikcorry
3 years, 6 months ago (2017-05-29 09:16:06 UTC) #9
Message was sent while issue was closed.
Committed patchset #3 (id:40001) manually as
b7797ac45fe6d58d5dae6c4db3094afb1dfaa4bc (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698