| Index: runtime/vm/exceptions.cc
|
| ===================================================================
|
| --- runtime/vm/exceptions.cc (revision 17826)
|
| +++ runtime/vm/exceptions.cc (working copy)
|
| @@ -55,18 +55,18 @@
|
| if (code.is_optimized()) {
|
| // For optimized frames, extract all the inlined functions if any
|
| // into the stack trace.
|
| - InlinedFunctionsInDartFrameIterator optimized_frames(frame);
|
| + InlinedFunctionsIterator optimized_frames(frame);
|
| while (true) {
|
| uword pc = 0;
|
| - func = optimized_frames.GetNextFunction(&pc);
|
| + func = optimized_frames.GetNextFunctionAndCode(&pc, &code);
|
| if (func.IsNull()) {
|
| break;
|
| }
|
| ASSERT(pc != 0);
|
| + ASSERT(code.EntryPoint() <= pc);
|
| + ASSERT(pc < (code.EntryPoint() + code.Size()));
|
| if (ShouldShowFunction(func)) {
|
| - code = func.unoptimized_code();
|
| offset = Smi::New(pc - code.EntryPoint());
|
| - ASSERT(0 <= offset.Value() && offset.Value() < code.Size());
|
| func_list.Add(func);
|
| code_list.Add(code);
|
| pc_offset_list.Add(offset);
|
|
|