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

Issue 12212050: Fix allocation of array tables (use store barrier if needed, store values directly instead of via s… (Closed)

Created:
7 years, 10 months ago by srdjan
Modified:
7 years, 10 months ago
CC:
reviews_dartlang.org, Ivan Posva
Visibility:
Public.

Description

Fix allocation of array tables (use store barrier if needed, store values directly instead of via stack). Committed: https://code.google.com/p/dart/source/detail?r=18464

Patch Set 1 #

Patch Set 2 : #

Patch Set 3 : #

Patch Set 4 : #

Patch Set 5 : #

Patch Set 6 : #

Patch Set 7 : #

Patch Set 8 : #

Patch Set 9 : #

Patch Set 10 : #

Patch Set 11 : #

Patch Set 12 : #

Patch Set 13 : #

Patch Set 14 : #

Total comments: 2

Patch Set 15 : #

Patch Set 16 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+101 lines, -43 lines) Patch
M runtime/vm/ast.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 2 chunks +9 lines, -1 line 0 comments Download
M runtime/vm/compiler.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 chunk +3 lines, -0 lines 0 comments Download
M runtime/vm/flow_graph_builder.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 2 chunks +28 lines, -13 lines 0 comments Download
M runtime/vm/flow_graph_optimizer.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 chunk +1 line, -1 line 0 comments Download
M runtime/vm/intermediate_language.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 3 chunks +4 lines, -8 lines 0 comments Download
M runtime/vm/intermediate_language_ia32.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 chunk +1 line, -7 lines 0 comments Download
M runtime/vm/intermediate_language_x64.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 chunk +1 line, -7 lines 0 comments Download
M runtime/vm/parser.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 4 chunks +16 lines, -0 lines 0 comments Download
M runtime/vm/parser.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 8 chunks +37 lines, -6 lines 0 comments Download
M runtime/vm/symbols.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 chunk +1 line, -0 lines 0 comments Download

Messages

Total messages: 4 (0 generated)
srdjan
7 years, 10 months ago (2013-02-13 00:05:41 UTC) #1
hausner
I would prefer if you didn't have to allocate a temp variable in each function, ...
7 years, 10 months ago (2013-02-13 00:47:29 UTC) #2
hausner
Ok, LGTM after offline discussion. But I still don't like it :)
7 years, 10 months ago (2013-02-13 01:11:19 UTC) #3
srdjan
7 years, 10 months ago (2013-02-13 01:15:00 UTC) #4
https://codereview.chromium.org/12212050/diff/8032/runtime/vm/parser.cc
File runtime/vm/parser.cc (right):

https://codereview.chromium.org/12212050/diff/8032/runtime/vm/parser.cc#newco...
runtime/vm/parser.cc:768: parsed_function->set_array_literal_var(
On 2013/02/13 00:47:30, hausner wrote:
> I don't like that you have to allocate a variable for each function, whether
> it's used by the backend or not. It is needed in very few cases.
> 
> Could you not keep the old behavior of the ArrayNode if there is no temporary
> variable given to the ArrayNode? That way, you treat all cases where the array
> node is allocated in the parser with your new code generation pattern, and the
> one use where the array node is allocated in the backend, code generation
> remains as it is now.

I don't like it either, but could not come up with a solution that would avoid
it (discussed offline). Optimized code will get rid of it.

Powered by Google App Engine
This is Rietveld 408576698