| OLD | NEW |
| 1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 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/v8.h" | 5 #include "src/v8.h" |
| 6 | 6 |
| 7 #include "src/accessors.h" | 7 #include "src/accessors.h" |
| 8 #include "src/codegen.h" | 8 #include "src/codegen.h" |
| 9 #include "src/deoptimizer.h" | 9 #include "src/deoptimizer.h" |
| 10 #include "src/disasm.h" | 10 #include "src/disasm.h" |
| (...skipping 701 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 712 // changed to a binary search. | 712 // changed to a binary search. |
| 713 int length = data->DeoptPoints(); | 713 int length = data->DeoptPoints(); |
| 714 for (int i = 0; i < length; i++) { | 714 for (int i = 0; i < length; i++) { |
| 715 if (data->AstId(i) == id) { | 715 if (data->AstId(i) == id) { |
| 716 return data->PcAndState(i)->value(); | 716 return data->PcAndState(i)->value(); |
| 717 } | 717 } |
| 718 } | 718 } |
| 719 OFStream os(stderr); | 719 OFStream os(stderr); |
| 720 os << "[couldn't find pc offset for node=" << id.ToInt() << "]\n" | 720 os << "[couldn't find pc offset for node=" << id.ToInt() << "]\n" |
| 721 << "[method: " << shared->DebugName()->ToCString().get() << "]\n" | 721 << "[method: " << shared->DebugName()->ToCString().get() << "]\n" |
| 722 << "[source:\n" << SourceCodeOf(shared) << "\n]" << endl; | 722 << "[source:\n" << SourceCodeOf(shared) << "\n]" << std::endl; |
| 723 | 723 |
| 724 FATAL("unable to find pc offset during deoptimization"); | 724 FATAL("unable to find pc offset during deoptimization"); |
| 725 return -1; | 725 return -1; |
| 726 } | 726 } |
| 727 | 727 |
| 728 | 728 |
| 729 int Deoptimizer::GetDeoptimizedCodeCount(Isolate* isolate) { | 729 int Deoptimizer::GetDeoptimizedCodeCount(Isolate* isolate) { |
| 730 int length = 0; | 730 int length = 0; |
| 731 // Count all entries in the deoptimizing code list of every context. | 731 // Count all entries in the deoptimizing code list of every context. |
| 732 Object* context = isolate->heap()->native_contexts_list(); | 732 Object* context = isolate->heap()->native_contexts_list(); |
| (...skipping 2895 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3628 | 3628 |
| 3629 | 3629 |
| 3630 void DeoptimizedFrameInfo::Iterate(ObjectVisitor* v) { | 3630 void DeoptimizedFrameInfo::Iterate(ObjectVisitor* v) { |
| 3631 v->VisitPointer(bit_cast<Object**>(&function_)); | 3631 v->VisitPointer(bit_cast<Object**>(&function_)); |
| 3632 v->VisitPointer(&context_); | 3632 v->VisitPointer(&context_); |
| 3633 v->VisitPointers(parameters_, parameters_ + parameters_count_); | 3633 v->VisitPointers(parameters_, parameters_ + parameters_count_); |
| 3634 v->VisitPointers(expression_stack_, expression_stack_ + expression_count_); | 3634 v->VisitPointers(expression_stack_, expression_stack_ + expression_count_); |
| 3635 } | 3635 } |
| 3636 | 3636 |
| 3637 } } // namespace v8::internal | 3637 } } // namespace v8::internal |
| OLD | NEW |