| Index: runtime/vm/intermediate_language.h
|
| diff --git a/runtime/vm/intermediate_language.h b/runtime/vm/intermediate_language.h
|
| index 0f0cfdb8d13eaff760112adcd63f7464f7e50684..4430060c11bf0f669d143e6a338b8e52d5da1d75 100644
|
| --- a/runtime/vm/intermediate_language.h
|
| +++ b/runtime/vm/intermediate_language.h
|
| @@ -2191,6 +2191,7 @@ class GotoInstr : public TemplateInstruction<0, NoThrow> {
|
| // In order to preserve split-edge form, an indirect goto does not itself point
|
| // to its targets. Instead, for each possible target, the successors_ field
|
| // will contain an ordinary goto instruction that jumps to the target.
|
| +// TODO(zerny): Implement direct support instead of embedding gotos.
|
| //
|
| // Byte offsets of all possible targets are stored in the offsets_ array. The
|
| // desired offset is looked up while the generated code is executing, and passed
|
| @@ -2227,17 +2228,7 @@ class IndirectGotoInstr : public TemplateInstruction<1, NoThrow> {
|
| virtual void PrintTo(BufferFormatter* f) const;
|
|
|
| const GrowableObjectArray& offsets() const { return offsets_; }
|
| - void SetOffsetCount(Isolate* isolate, intptr_t count) {
|
| - if (offsets_.Capacity() < count) {
|
| - offsets_.Grow(count, Heap::kOld);
|
| - }
|
| - if (offsets_.Length() < count) {
|
| - offsets_.SetLength(count);
|
| - }
|
| - }
|
| - void SetOffsetAt(Isolate* isolate, intptr_t index, intptr_t offset) {
|
| - offsets_.SetAt(index, Smi::ZoneHandle(isolate, Smi::New(offset)));
|
| - }
|
| + void ComputeOffsetTable(Isolate* isolate);
|
|
|
| private:
|
| GrowableArray<TargetEntryInstr*> successors_;
|
|
|