OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "src/frames.h" | 5 #include "src/frames.h" |
6 | 6 |
7 #include <sstream> | 7 #include <sstream> |
8 | 8 |
9 #include "src/ast.h" | 9 #include "src/ast.h" |
10 #include "src/base/bits.h" | 10 #include "src/base/bits.h" |
(...skipping 861 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
872 void JavaScriptFrame::RestoreOperandStack(FixedArray* store) { | 872 void JavaScriptFrame::RestoreOperandStack(FixedArray* store) { |
873 int operands_count = store->length(); | 873 int operands_count = store->length(); |
874 DCHECK_LE(operands_count, ComputeOperandsCount()); | 874 DCHECK_LE(operands_count, ComputeOperandsCount()); |
875 for (int i = 0; i < operands_count; i++) { | 875 for (int i = 0; i < operands_count; i++) { |
876 DCHECK_EQ(GetOperand(i), isolate()->heap()->the_hole_value()); | 876 DCHECK_EQ(GetOperand(i), isolate()->heap()->the_hole_value()); |
877 Memory::Object_at(GetOperandSlot(i)) = store->get(i); | 877 Memory::Object_at(GetOperandSlot(i)) = store->get(i); |
878 } | 878 } |
879 } | 879 } |
880 | 880 |
881 | 881 |
| 882 FrameSummary::FrameSummary(Object* receiver, JSFunction* function, Code* code, |
| 883 int offset, bool is_constructor) |
| 884 : receiver_(receiver, function->GetIsolate()), |
| 885 function_(function), |
| 886 code_(code), |
| 887 offset_(offset), |
| 888 is_constructor_(is_constructor) {} |
| 889 |
| 890 |
882 void FrameSummary::Print() { | 891 void FrameSummary::Print() { |
883 PrintF("receiver: "); | 892 PrintF("receiver: "); |
884 receiver_->ShortPrint(); | 893 receiver_->ShortPrint(); |
885 PrintF("\nfunction: "); | 894 PrintF("\nfunction: "); |
886 function_->shared()->DebugName()->ShortPrint(); | 895 function_->shared()->DebugName()->ShortPrint(); |
887 PrintF("\ncode: "); | 896 PrintF("\ncode: "); |
888 code_->ShortPrint(); | 897 code_->ShortPrint(); |
889 if (code_->kind() == Code::FUNCTION) PrintF(" NON-OPT"); | 898 if (code_->kind() == Code::FUNCTION) PrintF(" NON-OPT"); |
890 if (code_->kind() == Code::OPTIMIZED_FUNCTION) PrintF(" OPT"); | 899 if (code_->kind() == Code::OPTIMIZED_FUNCTION) PrintF(" OPT"); |
891 PrintF("\npc: %d\n", offset_); | 900 PrintF("\npc: %d\n", offset_); |
(...skipping 655 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1547 for (StackFrameIterator it(isolate); !it.done(); it.Advance()) { | 1556 for (StackFrameIterator it(isolate); !it.done(); it.Advance()) { |
1548 StackFrame* frame = AllocateFrameCopy(it.frame(), zone); | 1557 StackFrame* frame = AllocateFrameCopy(it.frame(), zone); |
1549 list.Add(frame, zone); | 1558 list.Add(frame, zone); |
1550 } | 1559 } |
1551 return list.ToVector(); | 1560 return list.ToVector(); |
1552 } | 1561 } |
1553 | 1562 |
1554 | 1563 |
1555 } // namespace internal | 1564 } // namespace internal |
1556 } // namespace v8 | 1565 } // namespace v8 |
OLD | NEW |