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

Issue 1263513002: VM: Load allocation-top and -end via Thread. (Closed)

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

VM: Load allocation-top and -end via Thread. Cache a pointer to the isolate's Heap in the Thread object and use it in generated code for allocation. Change generated allocation code to load allocation-top and end via THR (THR->heap.top). This is slightly slower than embedding the address, but faster than loading it via the Isolate (THR->isolate->heap.top) BUG= R=koda@google.com Committed: https://github.com/dart-lang/sdk/commit/ef7a55281f4b4b22c6e35003f95b73c9a499a637

Patch Set 1 #

Patch Set 2 : removed unused methods" #

Patch Set 3 : fixed LoadCodeUnitsAt on ia32 #

Patch Set 4 : arm, arm64 and mips #

Total comments: 3

Patch Set 5 : addressed comments #

Patch Set 6 : fixed cc tests #

Total comments: 1
Unified diffs Side-by-side diffs Delta from patch set Stats (+389 lines, -414 lines) Patch
M runtime/vm/assembler_arm.cc View 1 2 3 2 chunks +17 lines, -22 lines 0 comments Download
M runtime/vm/assembler_arm64.cc View 1 2 3 4 5 2 chunks +17 lines, -22 lines 0 comments Download
M runtime/vm/assembler_ia32.h View 1 chunk +2 lines, -1 line 0 comments Download
M runtime/vm/assembler_ia32.cc View 4 chunks +23 lines, -16 lines 0 comments Download
M runtime/vm/assembler_mips.cc View 1 2 3 2 chunks +17 lines, -19 lines 0 comments Download
M runtime/vm/assembler_x64.h View 1 2 3 4 5 1 chunk +4 lines, -2 lines 0 comments Download
M runtime/vm/assembler_x64.cc View 1 2 3 4 5 3 chunks +22 lines, -25 lines 0 comments Download
M runtime/vm/dart.cc View 3 chunks +0 lines, -18 lines 0 comments Download
M runtime/vm/heap.h View 1 1 chunk +0 lines, -2 lines 0 comments Download
M runtime/vm/heap.cc View 1 2 3 4 5 1 chunk +0 lines, -20 lines 0 comments Download
M runtime/vm/intermediate_language_ia32.cc View 1 2 14 chunks +20 lines, -10 lines 0 comments Download
M runtime/vm/intermediate_language_x64.cc View 1 2 3 4 5 15 chunks +28 lines, -15 lines 0 comments Download
M runtime/vm/intrinsifier_arm.cc View 1 2 3 5 chunks +17 lines, -21 lines 0 comments Download
M runtime/vm/intrinsifier_arm64.cc View 1 2 3 4 5 6 chunks +21 lines, -22 lines 0 comments Download
M runtime/vm/intrinsifier_ia32.cc View 7 chunks +21 lines, -16 lines 0 comments Download
M runtime/vm/intrinsifier_mips.cc View 1 2 3 6 chunks +21 lines, -22 lines 0 comments Download
M runtime/vm/intrinsifier_x64.cc View 1 2 3 4 5 11 chunks +29 lines, -27 lines 0 comments Download
M runtime/vm/isolate.h View 1 2 3 4 5 2 chunks +8 lines, -6 lines 1 comment Download
M runtime/vm/isolate.cc View 1 2 3 4 5 2 chunks +14 lines, -0 lines 0 comments Download
M runtime/vm/isolate_test.cc View 1 2 3 4 5 2 chunks +6 lines, -8 lines 0 comments Download
M runtime/vm/metrics_test.cc View 1 2 3 4 5 3 chunks +25 lines, -26 lines 0 comments Download
M runtime/vm/stub_code_arm.cc View 1 2 3 1 chunk +6 lines, -7 lines 0 comments Download
M runtime/vm/stub_code_arm64.cc View 1 2 3 4 5 1 chunk +6 lines, -7 lines 0 comments Download
M runtime/vm/stub_code_ia32.cc View 3 chunks +9 lines, -9 lines 0 comments Download
M runtime/vm/stub_code_mips.cc View 1 2 3 2 chunks +6 lines, -7 lines 0 comments Download
M runtime/vm/stub_code_x64.cc View 1 2 3 4 5 3 chunks +8 lines, -12 lines 0 comments Download
M runtime/vm/thread.h View 1 2 3 4 4 chunks +7 lines, -0 lines 0 comments Download
M runtime/vm/thread.cc View 4 chunks +6 lines, -0 lines 0 comments Download
M runtime/vm/thread_test.cc View 1 2 3 4 5 5 chunks +13 lines, -24 lines 0 comments Download
M runtime/vm/zone_test.cc View 1 2 3 4 5 8 chunks +16 lines, -28 lines 0 comments Download

Messages

Total messages: 9 (2 generated)
Florian Schneider
5 years, 4 months ago (2015-07-29 11:10:12 UTC) #2
srdjan
DBC Have you observed any performance impact of this CL? https://codereview.chromium.org/1263513002/diff/60001/runtime/vm/assembler_ia32.cc File runtime/vm/assembler_ia32.cc (right): https://codereview.chromium.org/1263513002/diff/60001/runtime/vm/assembler_ia32.cc#newcode2774 ...
5 years, 4 months ago (2015-07-29 16:02:39 UTC) #4
koda
.. and then eventually, we'll remove one of the indirections and put the end/top address ...
5 years, 4 months ago (2015-07-29 19:48:20 UTC) #5
Florian Schneider
On 2015/07/29 19:48:20, koda wrote: > .. and then eventually, we'll remove one of the ...
5 years, 4 months ago (2015-08-03 08:33:22 UTC) #6
Florian Schneider
PTAL. https://codereview.chromium.org/1263513002/diff/60001/runtime/vm/thread.h File runtime/vm/thread.h (right): https://codereview.chromium.org/1263513002/diff/60001/runtime/vm/thread.h#newcode22 runtime/vm/thread.h:22: class Heap; On 2015/07/29 19:48:20, koda wrote: > ...
5 years, 4 months ago (2015-08-03 14:07:32 UTC) #7
koda
lgtm
5 years, 4 months ago (2015-08-03 14:16:58 UTC) #8
Florian Schneider
5 years, 4 months ago (2015-08-03 14:26:28 UTC) #9
Message was sent while issue was closed.
Committed patchset #6 (id:100001) manually as
ef7a55281f4b4b22c6e35003f95b73c9a499a637 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698