| Index: runtime/vm/intermediate_language.cc
|
| diff --git a/runtime/vm/intermediate_language.cc b/runtime/vm/intermediate_language.cc
|
| index a7f617fd6eafe3656974e01facca93aa3d5da123..3eafc908074853c3c37448c69f01e084b5492c6b 100644
|
| --- a/runtime/vm/intermediate_language.cc
|
| +++ b/runtime/vm/intermediate_language.cc
|
| @@ -273,6 +273,11 @@ RawAbstractType* ParameterInstr::CompileType() const {
|
| }
|
|
|
|
|
| +RawAbstractType* PushArgumentInstr::CompileType() const {
|
| + return AbstractType::null();
|
| +}
|
| +
|
| +
|
| intptr_t JoinEntryInstr::IndexOfPredecessor(BlockEntryInstr* pred) const {
|
| for (intptr_t i = 0; i < predecessors_.length(); ++i) {
|
| if (predecessors_[i] == pred) return i;
|
| @@ -1233,38 +1238,6 @@ void PushArgumentInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
|
| }
|
|
|
|
|
| -void Environment::InitializeLocations(FlowGraphAllocator* allocator,
|
| - intptr_t block_start_pos,
|
| - intptr_t environment_pos) {
|
| - // Any value mentioned in the deoptimization environment should survive
|
| - // until the end of instruction but it does not need to be in the register.
|
| - // Expected shape of live range:
|
| - //
|
| - // i i'
|
| - // value -----*
|
| - //
|
| - ASSERT(locations_ == NULL);
|
| - location_count_ = values_.length();
|
| - if (location_count_ > 0) {
|
| - locations_ =
|
| - Isolate::Current()->current_zone()->Alloc<Location>(location_count_);
|
| - for (intptr_t i = 0; i < location_count_; ++i) {
|
| - Value* value = values_[i];
|
| - if (value->IsUse()) {
|
| - locations_[i] = Location::Any();
|
| - const intptr_t vreg = value->AsUse()->definition()->ssa_temp_index();
|
| - LiveRange* range = allocator->GetLiveRange(vreg);
|
| - range->AddUseInterval(block_start_pos, environment_pos);
|
| - range->AddUse(environment_pos, &locations_[i]);
|
| - } else {
|
| - ASSERT(value->IsConstant());
|
| - locations_[i] = Location::NoLocation();
|
| - }
|
| - }
|
| - }
|
| -}
|
| -
|
| -
|
| #undef __
|
|
|
| } // namespace dart
|
|
|