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

Issue 10416031: Convert CurrentContext and StoreContext to locations code generation scheme (Closed)

Created:
8 years, 7 months ago by Vyacheslav Egorov (Google)
Modified:
8 years, 7 months ago
Reviewers:
srdjan
CC:
reviews_dartlang.org
Visibility:
Public.

Description

Convert CurrentContext and StoreContext to locations code generation scheme R=srdjan@google.com BUG= TEST= Committed: https://code.google.com/p/dart/source/detail?r=7869

Patch Set 1 #

Total comments: 2
Unified diffs Side-by-side diffs Delta from patch set Stats (+64 lines, -47 lines) Patch
M runtime/vm/flow_graph_compiler_x64.cc View 1 chunk +4 lines, -2 lines 0 comments Download
M runtime/vm/intermediate_language.h View 1 chunk +21 lines, -2 lines 0 comments Download
M runtime/vm/intermediate_language_ia32.cc View 1 chunk +16 lines, -43 lines 2 comments Download
M runtime/vm/intermediate_language_x64.cc View 1 chunk +23 lines, -0 lines 0 comments Download

Messages

Total messages: 3 (0 generated)
Vyacheslav Egorov (Google)
8 years, 7 months ago (2012-05-22 12:00:03 UTC) #1
srdjan
LGTM https://chromiumcodereview.appspot.com/10416031/diff/1/runtime/vm/intermediate_language_ia32.cc File runtime/vm/intermediate_language_ia32.cc (right): https://chromiumcodereview.appspot.com/10416031/diff/1/runtime/vm/intermediate_language_ia32.cc#newcode31 runtime/vm/intermediate_language_ia32.cc:31: DEFINE_UNIMPLEMENTED(StoreContextComp) All those need toi be Bailouts. Maybe ...
8 years, 7 months ago (2012-05-22 16:56:22 UTC) #2
Vyacheslav Egorov (Google)
8 years, 7 months ago (2012-05-22 18:40:13 UTC) #3
Thanks for the review. Landed.

https://chromiumcodereview.appspot.com/10416031/diff/1/runtime/vm/intermediat...
File runtime/vm/intermediate_language_ia32.cc (right):

https://chromiumcodereview.appspot.com/10416031/diff/1/runtime/vm/intermediat...
runtime/vm/intermediate_language_ia32.cc:31:
DEFINE_UNIMPLEMENTED(StoreContextComp)
On 2012/05/22 16:56:22, srdjan wrote:
> All those need toi be Bailouts. Maybe next CL.

It's a logical error to call EmitNativeCode if locs() == NULL, so I don't think
it should be bailout.

And MakeLocationSummary can't bailout because it does not have FlowGraphCompiler
(which has Bailout method).

I suggest the following approach for another CL: remove unimplemented from
MakeLocationSummary and let it return NULL. Then add Bailout at "driver loop"
level: e.g. pseudocode

if (instr->locs() == NULL) Bailout("unsupported instruction %s",
instr->mnemonic());

What do you think?

Powered by Google App Engine
This is Rietveld 408576698