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

Issue 860963002: Refactor _ByteDataView.[set|get]* methods to improve their performance. (Closed)

Created:
5 years, 11 months ago by Vyacheslav Egorov (Google)
Modified:
5 years, 11 months ago
Reviewers:
Florian Schneider
CC:
reviews_dartlang.org, vm-dev_dartlang.org
Target Ref:
refs/remotes/git-svn
Visibility:
Public.

Description

Refactor _ByteDataView.[set|get]<Type> methods to improve their performance. - don't manually truncate values before passing them to TypedData._[set|get]<Type> - these methods already have truncating semantics; - don't call into runtime for endianess conversion, implement it in pure Dart instead (with an intent to provide optimized version on platforms that support fast byte-swapping instructions); - force inlining of these methods (change the order of checks in the ShouldWeInline to guarantee inlining of whitelisted methods). Unrelated change: - tweak output of Function::CheckSourceFingerprint to be immediately copy&paste useful. R=fschneider@google.com BUG=http://dartbug.com/22107 Committed: https://code.google.com/p/dart/source/detail?r=43038

Patch Set 1 #

Total comments: 8
Unified diffs Side-by-side diffs Delta from patch set Stats (+127 lines, -193 lines) Patch
M runtime/lib/typed_data.cc View 3 chunks +22 lines, -86 lines 0 comments Download
M runtime/lib/typed_data.dart View 19 chunks +59 lines, -70 lines 8 comments Download
M runtime/vm/flow_graph_builder.h View 1 chunk +1 line, -1 line 0 comments Download
M runtime/vm/flow_graph_inliner.cc View 2 chunks +3 lines, -3 lines 0 comments Download
M runtime/vm/intrinsifier.cc View 2 chunks +4 lines, -4 lines 0 comments Download
M runtime/vm/method_recognizer.h View 2 chunks +28 lines, -0 lines 0 comments Download
M runtime/vm/method_recognizer.cc View 2 chunks +2 lines, -2 lines 0 comments Download
M runtime/vm/object.h View 1 chunk +1 line, -1 line 0 comments Download
M runtime/vm/object.cc View 7 chunks +7 lines, -26 lines 0 comments Download

Messages

Total messages: 5 (0 generated)
Vyacheslav Egorov (Google)
5 years, 11 months ago (2015-01-20 23:18:13 UTC) #1
Vyacheslav Egorov (Google)
PTAL. Local benchmarking (ia32): Write (BE)(RunTime): 63156.25 us. Write (LE)(RunTime): 9081.447963800905 us. Write (HE)(RunTime): 18376.146788990827 ...
5 years, 11 months ago (2015-01-20 23:31:26 UTC) #2
Florian Schneider
LGTM. https://codereview.chromium.org/860963002/diff/1/runtime/lib/typed_data.dart File runtime/lib/typed_data.dart (right): https://codereview.chromium.org/860963002/diff/1/runtime/lib/typed_data.dart#newcode3390 runtime/lib/typed_data.dart:3390: final _convU32 = new Uint32List(2); Once we have ...
5 years, 11 months ago (2015-01-21 09:34:38 UTC) #3
Vyacheslav Egorov (Google)
Thanks for the review! https://codereview.chromium.org/860963002/diff/1/runtime/lib/typed_data.dart File runtime/lib/typed_data.dart (right): https://codereview.chromium.org/860963002/diff/1/runtime/lib/typed_data.dart#newcode3390 runtime/lib/typed_data.dart:3390: final _convU32 = new Uint32List(2); ...
5 years, 11 months ago (2015-01-21 12:17:56 UTC) #4
Vyacheslav Egorov (Google)
5 years, 11 months ago (2015-01-21 14:21:58 UTC) #5
Message was sent while issue was closed.
Committed patchset #1 (id:1) manually as 43038 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698