Index: src/accessors.cc |
diff --git a/src/accessors.cc b/src/accessors.cc |
index 085e00cd44e0320555d3c2d8e16b95b61d96e215..d6fa4fea8c979752fc6fe17bf3870cdb2d24c906 100644 |
--- a/src/accessors.cc |
+++ b/src/accessors.cc |
@@ -844,10 +844,10 @@ static Handle<Object> ArgumentsForInlinedFunction( |
static int FindFunctionInFrame(JavaScriptFrame* frame, |
Handle<JSFunction> function) { |
DisallowHeapAllocation no_allocation; |
- List<JSFunction*> functions(2); |
- frame->GetFunctions(&functions); |
- for (int i = functions.length() - 1; i >= 0; i--) { |
- if (functions[i] == *function) return i; |
+ List<FrameSummary> frames(2); |
+ frame->Summarize(&frames); |
+ for (int i = frames.length() - 1; i >= 0; i--) { |
+ if (*frames[i].AsJavaScript().function() == *function) return i; |
} |
return -1; |
} |
@@ -951,19 +951,16 @@ static inline bool AllowAccessToFunction(Context* current_context, |
class FrameFunctionIterator { |
public: |
FrameFunctionIterator(Isolate* isolate, const DisallowHeapAllocation& promise) |
- : isolate_(isolate), |
- frame_iterator_(isolate), |
- functions_(2), |
- index_(0) { |
- GetFunctions(); |
+ : isolate_(isolate), frame_iterator_(isolate), frames_(2), index_(0) { |
+ GetFrames(); |
} |
JSFunction* next() { |
while (true) { |
- if (functions_.length() == 0) return NULL; |
- JSFunction* next_function = functions_[index_]; |
+ if (frames_.length() == 0) return NULL; |
+ JSFunction* next_function = *frames_[index_].AsJavaScript().function(); |
index_--; |
if (index_ < 0) { |
- GetFunctions(); |
+ GetFrames(); |
} |
// Skip functions from other origins. |
if (!AllowAccessToFunction(isolate_->context(), next_function)) continue; |
@@ -984,18 +981,18 @@ class FrameFunctionIterator { |
} |
private: |
- void GetFunctions() { |
- functions_.Rewind(0); |
+ void GetFrames() { |
+ frames_.Rewind(0); |
if (frame_iterator_.done()) return; |
JavaScriptFrame* frame = frame_iterator_.frame(); |
- frame->GetFunctions(&functions_); |
- DCHECK(functions_.length() > 0); |
+ frame->Summarize(&frames_); |
+ DCHECK(frames_.length() > 0); |
frame_iterator_.Advance(); |
- index_ = functions_.length() - 1; |
+ index_ = frames_.length() - 1; |
} |
Isolate* isolate_; |
JavaScriptFrameIterator frame_iterator_; |
- List<JSFunction*> functions_; |
+ List<FrameSummary> frames_; |
int index_; |
}; |