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

Issue 2833333003: Reland "Use off-heap data for type feedback in PolymorphicInstanceCallInstr" (Closed)

Created:
3 years, 8 months ago by erikcorry
Modified:
3 years, 8 months ago
CC:
reviews_dartlang.org, vm-dev_dartlang.org
Target Ref:
refs/heads/master
Visibility:
Public.

Description

Reland "Use off-heap data for type feedback in PolymorphicInstanceCallInstr" This reverts commit 2135c8a90f37091536bb6707edc5bf5a48bf315c. This is a reland of https://codereview.chromium.org/2809583002/ Original text: We have been using IC data for receiver type info in the PolymorphicInstanceCallInstr. This is a data structure optimized for access from hand-coded assembly stubs, and placed on the GC-ed heap, which means it has to be accessed through handles. With this change we move it to the zone memory, which means it can be freed without an old-gen GC. As a side-effect the zone arrays use exponential growth for amortized constant space allocation instead of growing by 1 for quadratic allocation when we add classes, further reducing memory pressure. R=vegorov@google.com BUG= Committed: https://github.com/dart-lang/sdk/commit/694ddfcdd3ae166858a2bf979287b0eefb21814c

Patch Set 1 #

Patch Set 2 : Fix wrong assert #

Unified diffs Side-by-side diffs Delta from patch set Stats (+834 lines, -895 lines) Patch
M runtime/vm/aot_optimizer.cc View 5 chunks +13 lines, -10 lines 0 comments Download
M runtime/vm/assembler_arm.h View 1 chunk +5 lines, -0 lines 0 comments Download
M runtime/vm/flow_graph_compiler.h View 6 chunks +38 lines, -31 lines 0 comments Download
M runtime/vm/flow_graph_compiler.cc View 4 chunks +188 lines, -72 lines 0 comments Download
M runtime/vm/flow_graph_compiler_arm.cc View 2 chunks +28 lines, -107 lines 0 comments Download
M runtime/vm/flow_graph_compiler_arm64.cc View 2 chunks +28 lines, -107 lines 0 comments Download
M runtime/vm/flow_graph_compiler_ia32.cc View 3 chunks +38 lines, -105 lines 0 comments Download
M runtime/vm/flow_graph_compiler_mips.cc View 2 chunks +35 lines, -108 lines 0 comments Download
M runtime/vm/flow_graph_compiler_x64.cc View 2 chunks +28 lines, -108 lines 0 comments Download
M runtime/vm/flow_graph_inliner.cc View 18 chunks +34 lines, -57 lines 0 comments Download
M runtime/vm/flow_graph_type_propagator.cc View 2 chunks +3 lines, -3 lines 0 comments Download
M runtime/vm/il_printer.h View 1 chunk +5 lines, -0 lines 0 comments Download
M runtime/vm/il_printer.cc View 3 chunks +47 lines, -5 lines 0 comments Download
M runtime/vm/intermediate_language.h View 4 chunks +74 lines, -9 lines 0 comments Download
M runtime/vm/intermediate_language.cc View 7 chunks +200 lines, -25 lines 0 comments Download
M runtime/vm/intermediate_language_arm.cc View 2 chunks +10 lines, -2 lines 0 comments Download
M runtime/vm/intermediate_language_arm64.cc View 2 chunks +10 lines, -2 lines 0 comments Download
M runtime/vm/intermediate_language_dbc.cc View 1 3 chunks +13 lines, -28 lines 0 comments Download
M runtime/vm/intermediate_language_mips.cc View 2 chunks +10 lines, -2 lines 0 comments Download
M runtime/vm/intermediate_language_x64.cc View 2 chunks +10 lines, -2 lines 0 comments Download
M runtime/vm/jit_optimizer.h View 1 chunk +0 lines, -6 lines 0 comments Download
M runtime/vm/jit_optimizer.cc View 7 chunks +17 lines, -92 lines 0 comments Download
M runtime/vm/object.h View 1 chunk +0 lines, -1 line 0 comments Download
M runtime/vm/object.cc View 1 chunk +0 lines, -13 lines 0 comments Download

Messages

Total messages: 6 (1 generated)
erikcorry
3 years, 8 months ago (2017-04-24 13:37:15 UTC) #1
Vyacheslav Egorov (Google)
lgtm
3 years, 8 months ago (2017-04-24 13:38:48 UTC) #2
erikcorry
Committed patchset #2 (id:20001) manually as 694ddfcdd3ae166858a2bf979287b0eefb21814c.
3 years, 8 months ago (2017-04-24 13:39:15 UTC) #4
rmacnak
On 2017/04/24 13:39:15, erikcorry wrote: > Committed patchset #2 (id:20001) manually as > 694ddfcdd3ae166858a2bf979287b0eefb21814c. Just ...
3 years, 8 months ago (2017-04-24 16:52:49 UTC) #5
rmacnak
3 years, 8 months ago (2017-04-24 18:17:10 UTC) #6
Message was sent while issue was closed.
On 2017/04/24 16:52:49, rmacnak wrote:
> On 2017/04/24 13:39:15, erikcorry wrote:
> > Committed patchset #2 (id:20001) manually as
> > 694ddfcdd3ae166858a2bf979287b0eefb21814c.
> 
> Just to check, is this zone array (or a malloced copy) referenced from
generated
> code? We can't generally directly reference the C heap from generated code
> because it breaks relocation for AppAOT or AppJIT.

Nvm, we don't use a reference to the original IC for the polymorphic instance
call, only a regular instance call.

Powered by Google App Engine
This is Rietveld 408576698