| Index: runtime/vm/locations.cc
|
| diff --git a/runtime/vm/locations.cc b/runtime/vm/locations.cc
|
| index d9d044aa792335826a37dd7ca2c7e0dba1c8a94c..9809707b6b1bc6224c182dff0b1f07f5d38b9bd6 100644
|
| --- a/runtime/vm/locations.cc
|
| +++ b/runtime/vm/locations.cc
|
| @@ -210,6 +210,12 @@ void Location::PrintTo(BufferFormatter* f) const {
|
| f->Print("DS%+" Pd "", stack_index());
|
| } else if (kind() == kQuadStackSlot) {
|
| f->Print("QS%+" Pd "", stack_index());
|
| + } else if (IsPairLocation()) {
|
| + f->Print("(");
|
| + AsPairLocation()->At(0).PrintTo(f);
|
| + f->Print(", ");
|
| + AsPairLocation()->At(1).PrintTo(f);
|
| + f->Print(")");
|
| } else {
|
| f->Print("%s", Name());
|
| }
|
| @@ -233,6 +239,19 @@ void Location::Print() const {
|
| }
|
|
|
|
|
| +Location Location::Copy() const {
|
| + if (IsPairLocation()) {
|
| + PairLocation* pair = AsPairLocation();
|
| + ASSERT(!pair->At(0).IsPairLocation());
|
| + ASSERT(!pair->At(1).IsPairLocation());
|
| + return Location::Pair(pair->At(0).Copy(), pair->At(1).Copy());
|
| + } else {
|
| + // Copy by value.
|
| + return *this;
|
| + }
|
| +}
|
| +
|
| +
|
| void LocationSummary::PrintTo(BufferFormatter* f) const {
|
| if (input_count() > 0) {
|
| f->Print(" (");
|
|
|