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

Issue 10407077: Migrate {Closure,Instance,Static}Call to use location-based code generation templates. (Closed)

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

Description

Migrate {Closure,Instance,Static}Call to use location-based code generation templates. Calls that have all arguments pushed on the stack can share a common location-summary. For the (non-optimizing) flow-graph compiler this means: 1. Nothing to do for the inputs. 2. The result is in fixed register RAX. Committed: https://code.google.com/p/dart/source/detail?r=7833

Patch Set 1 #

Patch Set 2 : updated comment #

Total comments: 4
Unified diffs Side-by-side diffs Delta from patch set Stats (+138 lines, -55 lines) Patch
M vm/flow_graph_compiler_x64.h View 2 chunks +6 lines, -1 line 0 comments Download
M vm/flow_graph_compiler_x64.cc View 4 chunks +7 lines, -51 lines 0 comments Download
M vm/intermediate_language.h View 7 chunks +38 lines, -3 lines 0 comments Download
M vm/intermediate_language_x64.cc View 1 2 chunks +87 lines, -0 lines 4 comments Download

Messages

Total messages: 3 (0 generated)
Florian Schneider
8 years, 7 months ago (2012-05-21 22:25:50 UTC) #1
srdjan
LGTM https://chromiumcodereview.appspot.com/10407077/diff/5001/vm/intermediate_language_x64.cc File vm/intermediate_language_x64.cc (right): https://chromiumcodereview.appspot.com/10407077/diff/5001/vm/intermediate_language_x64.cc#newcode12 vm/intermediate_language_x64.cc:12: #define __ compiler->assembler()-> For next CLs: Maybe we ...
8 years, 7 months ago (2012-05-21 22:58:53 UTC) #2
Florian Schneider
8 years, 7 months ago (2012-05-21 23:31:15 UTC) #3
https://chromiumcodereview.appspot.com/10407077/diff/5001/vm/intermediate_lan...
File vm/intermediate_language_x64.cc (right):

https://chromiumcodereview.appspot.com/10407077/diff/5001/vm/intermediate_lan...
vm/intermediate_language_x64.cc:12: #define __ compiler->assembler()->
On 2012/05/21 22:58:53, srdjan wrote:
> For next CLs: Maybe we should use a different class than FlowGraphCompiler for
> emitting (the emission functions do not have anything to do with flow graph).
A
> class named like CodePatterns? Opinions?

Agree. For now until everything is transitioned, let's keep this separate file
to avoid confusion with the other (ia32) code generator.

https://chromiumcodereview.appspot.com/10407077/diff/5001/vm/intermediate_lan...
vm/intermediate_language_x64.cc:80: LocationSummary* result = new
LocationSummary(0);
On 2012/05/21 22:58:53, srdjan wrote:
> What about inputs?

Inputs (in this case outgoing arguments) are assumed to be on the pushed on the
stack. I did not want to introduce a new location-kind like
kOutgoingStackArgument now, since these would be ignored by the instruction
prologue routine FlowGraphCompiler::EmitInstructionPrologue anyway.

Powered by Google App Engine
This is Rietveld 408576698