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

Issue 2131583002: Optimized megamorphic stubs (Closed)

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

- Optimized the call sequences for calling the megamorphic stub on all platforms. - Optimized instructions in the megamorphic stubs on X64, IA32, ARM, and ARM64. In a micro benchmark testing megamorphic calls using 71 different receiver types, the execution times goes from 2.6 sec to 1.4 sec. BUG= R=fschneider@google.com Committed: https://github.com/dart-lang/sdk/commit/4e7bb9377329e0945d1bf6f6f32d58b2c31683c9

Patch Set 1 #

Total comments: 8

Patch Set 2 : Addressed Florians comments. #

Total comments: 1
Unified diffs Side-by-side diffs Delta from patch set Stats (+248 lines, -21 lines) Patch
M runtime/vm/flow_graph_compiler_arm.cc View 1 chunk +2 lines, -1 line 0 comments Download
M runtime/vm/flow_graph_compiler_arm64.cc View 1 chunk +2 lines, -1 line 0 comments Download
M runtime/vm/flow_graph_compiler_ia32.cc View 1 chunk +1 line, -1 line 0 comments Download
M runtime/vm/flow_graph_compiler_mips.cc View 1 chunk +2 lines, -1 line 0 comments Download
M runtime/vm/flow_graph_compiler_x64.cc View 1 1 chunk +1 line, -1 line 0 comments Download
M runtime/vm/stub_code_arm.cc View 3 chunks +50 lines, -4 lines 0 comments Download
M runtime/vm/stub_code_arm64.cc View 3 chunks +52 lines, -4 lines 1 comment Download
M runtime/vm/stub_code_ia32.cc View 2 chunks +66 lines, -4 lines 0 comments Download
M runtime/vm/stub_code_x64.cc View 1 4 chunks +70 lines, -4 lines 0 comments Download
M runtime/vm/thread.h View 1 chunk +2 lines, -0 lines 0 comments Download

Messages

Total messages: 7 (2 generated)
bakster
Tested the following: tools/test.py -m debug,release --exclude-suite=pkg -a ia32,x64,simarm,simarm64
4 years, 5 months ago (2016-07-07 15:55:11 UTC) #2
Florian Schneider
https://codereview.chromium.org/2131583002/diff/1/runtime/vm/flow_graph_compiler_x64.cc File runtime/vm/flow_graph_compiler_x64.cc (right): https://codereview.chromium.org/2131583002/diff/1/runtime/vm/flow_graph_compiler_x64.cc#newcode1350 runtime/vm/flow_graph_compiler_x64.cc:1350: Accidental \n? https://codereview.chromium.org/2131583002/diff/1/runtime/vm/stub_code_x64.cc File runtime/vm/stub_code_x64.cc (right): https://codereview.chromium.org/2131583002/diff/1/runtime/vm/stub_code_x64.cc#newcode786 runtime/vm/stub_code_x64.cc:786: Accidental ...
4 years, 5 months ago (2016-07-07 17:13:36 UTC) #3
bakster
PTAL https://codereview.chromium.org/2131583002/diff/1/runtime/vm/flow_graph_compiler_x64.cc File runtime/vm/flow_graph_compiler_x64.cc (right): https://codereview.chromium.org/2131583002/diff/1/runtime/vm/flow_graph_compiler_x64.cc#newcode1350 runtime/vm/flow_graph_compiler_x64.cc:1350: On 2016/07/07 17:13:36, Florian Schneider wrote: > Accidental ...
4 years, 5 months ago (2016-07-07 18:00:03 UTC) #4
Florian Schneider
Lgtm https://codereview.chromium.org/2131583002/diff/20001/runtime/vm/stub_code_arm64.cc File runtime/vm/stub_code_arm64.cc (right): https://codereview.chromium.org/2131583002/diff/20001/runtime/vm/stub_code_arm64.cc#newcode2155 runtime/vm/stub_code_arm64.cc:2155: __ LoadTaggedClassIdMayBeSmi(R0, R0); Maybe make this avoid the ...
4 years, 5 months ago (2016-07-07 18:20:15 UTC) #5
bakster
4 years, 5 months ago (2016-07-07 18:21:58 UTC) #7
Message was sent while issue was closed.
Committed patchset #2 (id:20001) manually as
4e7bb9377329e0945d1bf6f6f32d58b2c31683c9 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698