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

Issue 2137673002: Sped up hashCode by removing megamorphic call to _identityHashCode. (Closed)

Created:
4 years, 5 months ago by bakster
Modified:
4 years, 5 months ago
Reviewers:
siva, sra1
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

Sped up hashCode by removing megamorphic call to _identityHashCode. Microbenchmark measuring megamorhic hashCode access shows 25% speedup. BUG= R=asiva@google.com Committed: https://github.com/dart-lang/sdk/commit/bc6358e5ef01b009f43aa6a88089ef72603992bc

Patch Set 1 #

Total comments: 4

Patch Set 2 : Merge branch 'master' of github.com:dart-lang/sdk into instanceof #

Patch Set 3 : Improved the speed of instance-of for unoptimized code. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+206 lines, -43 lines) Patch
M runtime/lib/object.cc View 1 2 1 chunk +31 lines, -0 lines 0 comments Download
M runtime/lib/object_patch.dart View 1 2 1 chunk +5 lines, -0 lines 0 comments Download
M runtime/vm/bootstrap_natives.h View 1 2 1 chunk +1 line, -0 lines 0 comments Download
M runtime/vm/code_generator.cc View 1 2 2 chunks +28 lines, -0 lines 0 comments Download
M runtime/vm/flow_graph_builder.cc View 1 2 2 chunks +60 lines, -24 lines 0 comments Download
M runtime/vm/jit_optimizer.cc View 1 2 2 chunks +25 lines, -18 lines 0 comments Download
M runtime/vm/object.h View 1 2 1 chunk +2 lines, -0 lines 0 comments Download
M runtime/vm/object.cc View 1 2 1 chunk +11 lines, -1 line 0 comments Download
M runtime/vm/object_store.h View 1 2 3 chunks +18 lines, -0 lines 0 comments Download
M runtime/vm/object_store.cc View 1 2 3 chunks +22 lines, -0 lines 0 comments Download
M runtime/vm/symbols.h View 1 2 1 chunk +3 lines, -0 lines 0 comments Download

Messages

Total messages: 9 (3 generated)
bakster
Please take a look at these hashCode changes.
4 years, 5 months ago (2016-07-08 20:58:26 UTC) #2
sra1
I'd like to see a test that doubles 'x' having integral values satisfy x.toInt().hashCode == ...
4 years, 5 months ago (2016-07-08 21:35:59 UTC) #4
bakster
The only solution that solves the general problem is selective method customization/specialization. This should eliminate ...
4 years, 5 months ago (2016-07-08 22:04:23 UTC) #5
siva
lgtm https://codereview.chromium.org/2137673002/diff/1/runtime/lib/object.cc File runtime/lib/object.cc (right): https://codereview.chromium.org/2137673002/diff/1/runtime/lib/object.cc#newcode44 runtime/lib/object.cc:44: // The performance benefit is more than 5% ...
4 years, 5 months ago (2016-07-08 22:12:10 UTC) #6
bakster
Thanks https://codereview.chromium.org/2137673002/diff/1/runtime/lib/object.cc File runtime/lib/object.cc (right): https://codereview.chromium.org/2137673002/diff/1/runtime/lib/object.cc#newcode44 runtime/lib/object.cc:44: // The performance benefit is more than 5% ...
4 years, 5 months ago (2016-07-08 22:15:11 UTC) #7
bakster
4 years, 5 months ago (2016-07-08 22:20:00 UTC) #9
Message was sent while issue was closed.
Committed patchset #2 (id:20001) manually as
bc6358e5ef01b009f43aa6a88089ef72603992bc (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698