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

Issue 21363003: Enables per-function far-branches for ARM and MIPS. (Closed)

Created:
7 years, 4 months ago by zra
Modified:
7 years, 4 months ago
CC:
reviews_dartlang.org
Visibility:
Public.

Description

Enables per-function far-branches for ARM and MIPS. R=regis@google.com, srdjan@google.com Committed: https://code.google.com/p/dart/source/detail?r=25723

Patch Set 1 #

Total comments: 6

Patch Set 2 : #

Total comments: 9

Patch Set 3 : #

Patch Set 4 : #

Total comments: 2

Patch Set 5 : #

Total comments: 4
Unified diffs Side-by-side diffs Delta from patch set Stats (+347 lines, -298 lines) Patch
M runtime/vm/assembler.h View 1 2 3 4 1 chunk +0 lines, -2 lines 0 comments Download
M runtime/vm/assembler.cc View 1 2 3 4 1 chunk +2 lines, -4 lines 0 comments Download
M runtime/vm/assembler_arm.h View 1 2 3 4 4 chunks +9 lines, -2 lines 0 comments Download
M runtime/vm/assembler_arm.cc View 1 2 3 4 6 chunks +13 lines, -8 lines 0 comments Download
M runtime/vm/assembler_ia32.h View 1 2 3 4 1 chunk +5 lines, -2 lines 0 comments Download
M runtime/vm/assembler_mips.h View 1 2 3 4 4 chunks +8 lines, -1 line 0 comments Download
M runtime/vm/assembler_mips.cc View 1 2 3 4 11 chunks +17 lines, -11 lines 0 comments Download
M runtime/vm/assembler_x64.h View 1 2 3 4 1 chunk +5 lines, -2 lines 0 comments Download
M runtime/vm/compiler.cc View 1 2 3 4 1 chunk +272 lines, -244 lines 4 comments Download
M runtime/vm/flow_graph.h View 1 2 3 4 3 chunks +8 lines, -1 line 0 comments Download
M runtime/vm/flow_graph.cc View 1 2 3 4 1 chunk +1 line, -0 lines 0 comments Download
M runtime/vm/simulator_mips.cc View 1 2 3 4 3 chunks +4 lines, -1 line 0 comments Download
M tests/co19/co19-runtime.status View 1 2 3 4 1 chunk +0 lines, -15 lines 0 comments Download
M tests/corelib/hash_map2_test.dart View 1 2 3 4 1 chunk +0 lines, -1 line 0 comments Download
M tests/corelib/list_test.dart View 1 2 3 4 1 chunk +0 lines, -1 line 0 comments Download
M tests/language/arithmetic_test.dart View 1 2 3 4 1 chunk +1 line, -1 line 0 comments Download
M tests/language/large_implicit_getter_test.dart View 1 2 3 4 1 chunk +1 line, -1 line 0 comments Download
M tests/lib/typed_data/float32x4_shuffle_test.dart View 1 2 3 4 1 chunk +1 line, -1 line 0 comments Download

Messages

Total messages: 13 (0 generated)
zra
Should I ask anyone else to review this?
7 years, 4 months ago (2013-07-31 17:38:14 UTC) #1
regis
Yes, one of Srdjan, Florian, Slava, or Kevin should have a quick look at your ...
7 years, 4 months ago (2013-07-31 18:01:12 UTC) #2
zra
+srdjan.
7 years, 4 months ago (2013-07-31 18:05:19 UTC) #3
zra
Thanks. I've made these changes. I'm still tracking down a bug, but it looks like ...
7 years, 4 months ago (2013-07-31 20:10:51 UTC) #4
srdjan
https://codereview.chromium.org/21363003/diff/11001/runtime/vm/assembler.cc File runtime/vm/assembler.cc (left): https://codereview.chromium.org/21363003/diff/11001/runtime/vm/assembler.cc#oldcode21 runtime/vm/assembler.cc:21: DEFINE_FLAG(bool, use_far_branches, false, "Enable far branches"); I do not ...
7 years, 4 months ago (2013-07-31 22:52:27 UTC) #5
zra
Thanks! I've changed the bailout loop as we discussed. Please have another look. https://codereview.chromium.org/21363003/diff/11001/runtime/vm/assembler.cc File ...
7 years, 4 months ago (2013-08-01 00:28:32 UTC) #6
zra
Some performance numbers from hardware: DeltaBlue before change: $ out/ReleaseARM/dart benchmarks/DeltaBlue/dart/DeltaBlue.dart DeltaBlue(RunTime): 3885.4368932038833 us. Before ...
7 years, 4 months ago (2013-08-01 17:46:20 UTC) #7
srdjan
lgtm https://codereview.chromium.org/21363003/diff/32001/runtime/vm/compiler.cc File runtime/vm/compiler.cc (right): https://codereview.chromium.org/21363003/diff/32001/runtime/vm/compiler.cc#newcode256 runtime/vm/compiler.cc:256: // static to evade gcc's longjmp variable smashing ...
7 years, 4 months ago (2013-08-01 19:59:13 UTC) #8
zra
Thanks! https://codereview.chromium.org/21363003/diff/32001/runtime/vm/compiler.cc File runtime/vm/compiler.cc (right): https://codereview.chromium.org/21363003/diff/32001/runtime/vm/compiler.cc#newcode256 runtime/vm/compiler.cc:256: // static to evade gcc's longjmp variable smashing ...
7 years, 4 months ago (2013-08-01 20:16:31 UTC) #9
zra
Committed patchset #5 manually as r25723 (presubmit successful).
7 years, 4 months ago (2013-08-01 20:51:55 UTC) #10
Ivan Posva
This threading issue needs to be addressed. -Ivan https://codereview.chromium.org/21363003/diff/45001/runtime/vm/compiler.cc File runtime/vm/compiler.cc (right): https://codereview.chromium.org/21363003/diff/45001/runtime/vm/compiler.cc#newcode264 runtime/vm/compiler.cc:264: static ...
7 years, 4 months ago (2013-08-06 00:17:51 UTC) #11
Florian Schneider
https://codereview.chromium.org/21363003/diff/45001/runtime/vm/compiler.cc File runtime/vm/compiler.cc (right): https://codereview.chromium.org/21363003/diff/45001/runtime/vm/compiler.cc#newcode264 runtime/vm/compiler.cc:264: static bool use_far_branches = false; On 2013/08/06 00:17:51, Ivan ...
7 years, 4 months ago (2013-08-07 09:21:26 UTC) #12
zra
7 years, 4 months ago (2013-08-09 15:19:43 UTC) #13
Message was sent while issue was closed.
https://codereview.chromium.org/21363003/diff/45001/runtime/vm/compiler.cc
File runtime/vm/compiler.cc (right):

https://codereview.chromium.org/21363003/diff/45001/runtime/vm/compiler.cc#ne...
runtime/vm/compiler.cc:264: static bool use_far_branches = false;
On 2013/08/06 00:17:51, Ivan Posva wrote:
> How is this supposed to work with multiple threads?

Sorry, forgot about threads. You're right this won't work.

https://codereview.chromium.org/21363003/diff/45001/runtime/vm/compiler.cc#ne...
runtime/vm/compiler.cc:264: static bool use_far_branches = false;
On 2013/08/07 09:21:26, Florian Schneider wrote:
> On 2013/08/06 00:17:51, Ivan Posva wrote:
> > How is this supposed to work with multiple threads?
> 
> It should rather be
> 
> volatile bool use_far_branches = false;

Yes. Thanks for the fix. I have sent you and Ivan a CL for review with this
change.

Powered by Google App Engine
This is Rietveld 408576698