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

Issue 346823003: VM: Optimized context allocation on all platforms. (Closed)

Created:
6 years, 6 months ago by Florian Schneider
Modified:
6 years, 4 months ago
Reviewers:
srdjan
CC:
reviews_dartlang.org, vm-dev_dartlang.org
Visibility:
Public.

Description

VM: Optimized context allocation on all platforms. This change generate inline code for context allocation and makes the stores to initialize the parent pointer and the context variables explicit in the optimized flow graph. This allows dead store elimination to eliminate those stores. Before, we only had inlined context allocation for ia32. Furthermore: * Added an assertion that the exit label of slow-path code is bound when emitting deferred code. This used to cause random crashes if forgotten. * Fixed a bug in allocation stats on ARM. BUG=dartbug.com/17238 R=srdjan@google.com Committed: https://code.google.com/p/dart/source/detail?r=39202

Patch Set 1 #

Patch Set 2 : #

Patch Set 3 : #

Patch Set 4 : #

Total comments: 12

Patch Set 5 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+773 lines, -271 lines) Patch
M runtime/vm/assembler_arm.h View 1 2 3 1 chunk +8 lines, -0 lines 0 comments Download
M runtime/vm/assembler_arm.cc View 1 2 3 4 1 chunk +43 lines, -0 lines 0 comments Download
M runtime/vm/assembler_arm64.h View 1 2 3 1 chunk +8 lines, -0 lines 0 comments Download
M runtime/vm/assembler_arm64.cc View 1 2 3 4 1 chunk +43 lines, -0 lines 0 comments Download
M runtime/vm/assembler_ia32.h View 1 2 3 1 chunk +7 lines, -0 lines 0 comments Download
M runtime/vm/assembler_ia32.cc View 1 2 3 2 chunks +40 lines, -0 lines 0 comments Download
M runtime/vm/assembler_mips.h View 2 chunks +9 lines, -1 line 0 comments Download
M runtime/vm/assembler_mips.cc View 1 2 3 4 1 chunk +45 lines, -0 lines 0 comments Download
M runtime/vm/assembler_x64.h View 3 chunks +14 lines, -0 lines 0 comments Download
M runtime/vm/assembler_x64.cc View 3 chunks +90 lines, -47 lines 0 comments Download
M runtime/vm/flow_graph_builder.cc View 1 chunk +4 lines, -4 lines 0 comments Download
M runtime/vm/flow_graph_compiler.h View 1 chunk +7 lines, -1 line 0 comments Download
M runtime/vm/flow_graph_compiler.cc View 1 chunk +1 line, -1 line 0 comments Download
M runtime/vm/flow_graph_optimizer.h View 1 chunk +1 line, -0 lines 0 comments Download
M runtime/vm/flow_graph_optimizer.cc View 2 chunks +37 lines, -0 lines 0 comments Download
M runtime/vm/flow_graph_type_propagator.cc View 1 chunk +7 lines, -0 lines 0 comments Download
M runtime/vm/il_printer.cc View 1 chunk +6 lines, -0 lines 0 comments Download
M runtime/vm/intermediate_language.h View 2 chunks +30 lines, -0 lines 0 comments Download
M runtime/vm/intermediate_language_arm.cc View 2 chunks +83 lines, -34 lines 0 comments Download
M runtime/vm/intermediate_language_arm64.cc View 1 chunk +78 lines, -0 lines 0 comments Download
M runtime/vm/intermediate_language_ia32.cc View 5 chunks +50 lines, -112 lines 0 comments Download
M runtime/vm/intermediate_language_mips.cc View 3 chunks +85 lines, -37 lines 0 comments Download
M runtime/vm/intermediate_language_x64.cc View 2 chunks +77 lines, -34 lines 0 comments Download

Messages

Total messages: 5 (0 generated)
Florian Schneider
https://codereview.chromium.org/346823003/diff/60001/runtime/vm/intermediate_language_arm.cc File runtime/vm/intermediate_language_arm.cc (left): https://codereview.chromium.org/346823003/diff/60001/runtime/vm/intermediate_language_arm.cc#oldcode2227 runtime/vm/intermediate_language_arm.cc:2227: __ LoadImmediate(R8, heap->TopAddress()); This is fixed in TryAllocateArray (assembler_arm.cc). ...
6 years, 4 months ago (2014-08-06 10:52:42 UTC) #1
Florian Schneider
On 2014/08/06 10:52:42, Florian Schneider wrote: > https://codereview.chromium.org/346823003/diff/60001/runtime/vm/intermediate_language_arm.cc > File runtime/vm/intermediate_language_arm.cc (left): > > https://codereview.chromium.org/346823003/diff/60001/runtime/vm/intermediate_language_arm.cc#oldcode2227 ...
6 years, 4 months ago (2014-08-11 09:06:04 UTC) #2
srdjan
LGTM https://codereview.chromium.org/346823003/diff/60001/runtime/vm/assembler_arm.cc File runtime/vm/assembler_arm.cc (right): https://codereview.chromium.org/346823003/diff/60001/runtime/vm/assembler_arm.cc#newcode3190 runtime/vm/assembler_arm.cc:3190: Register temp2) { Guard with FLAG_inline_alloc https://codereview.chromium.org/346823003/diff/60001/runtime/vm/assembler_arm64.cc File ...
6 years, 4 months ago (2014-08-11 21:42:34 UTC) #3
Florian Schneider
Addressed comment. I also made sure that initializing stores are safely handled by dead code ...
6 years, 4 months ago (2014-08-13 14:56:12 UTC) #4
Florian Schneider
6 years, 4 months ago (2014-08-13 15:49:19 UTC) #5
Message was sent while issue was closed.
Committed patchset #5 manually as r39202 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698