| 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/cpu-profiler.h" | 9 #include "src/cpu-profiler.h" |
| 10 #include "src/deoptimizer.h" | 10 #include "src/deoptimizer.h" |
| (...skipping 2670 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2681 JSFunction* frame_function, FILE* trace_file) { | 2681 JSFunction* frame_function, FILE* trace_file) { |
| 2682 Translation::Opcode opcode = | 2682 Translation::Opcode opcode = |
| 2683 static_cast<Translation::Opcode>(iterator->Next()); | 2683 static_cast<Translation::Opcode>(iterator->Next()); |
| 2684 switch (opcode) { | 2684 switch (opcode) { |
| 2685 case Translation::JS_FRAME: { | 2685 case Translation::JS_FRAME: { |
| 2686 BailoutId node_id = BailoutId(iterator->Next()); | 2686 BailoutId node_id = BailoutId(iterator->Next()); |
| 2687 SharedFunctionInfo* shared_info = | 2687 SharedFunctionInfo* shared_info = |
| 2688 SharedFunctionInfo::cast(literal_array->get(iterator->Next())); | 2688 SharedFunctionInfo::cast(literal_array->get(iterator->Next())); |
| 2689 int height = iterator->Next(); | 2689 int height = iterator->Next(); |
| 2690 if (trace_file != nullptr) { | 2690 if (trace_file != nullptr) { |
| 2691 SmartArrayPointer<char> name = shared_info->DebugName()->ToCString(); | 2691 base::SmartArrayPointer<char> name = |
| 2692 shared_info->DebugName()->ToCString(); |
| 2692 PrintF(trace_file, " reading input frame %s", name.get()); | 2693 PrintF(trace_file, " reading input frame %s", name.get()); |
| 2693 int arg_count = shared_info->internal_formal_parameter_count() + 1; | 2694 int arg_count = shared_info->internal_formal_parameter_count() + 1; |
| 2694 PrintF(trace_file, " => node=%d, args=%d, height=%d; inputs:\n", | 2695 PrintF(trace_file, " => node=%d, args=%d, height=%d; inputs:\n", |
| 2695 arg_count, node_id.ToInt(), height); | 2696 arg_count, node_id.ToInt(), height); |
| 2696 } | 2697 } |
| 2697 return TranslatedFrame::JSFrame(node_id, shared_info, height); | 2698 return TranslatedFrame::JSFrame(node_id, shared_info, height); |
| 2698 } | 2699 } |
| 2699 | 2700 |
| 2700 case Translation::ARGUMENTS_ADAPTOR_FRAME: { | 2701 case Translation::ARGUMENTS_ADAPTOR_FRAME: { |
| 2701 SharedFunctionInfo* shared_info = | 2702 SharedFunctionInfo* shared_info = |
| 2702 SharedFunctionInfo::cast(literal_array->get(iterator->Next())); | 2703 SharedFunctionInfo::cast(literal_array->get(iterator->Next())); |
| 2703 int height = iterator->Next(); | 2704 int height = iterator->Next(); |
| 2704 if (trace_file != nullptr) { | 2705 if (trace_file != nullptr) { |
| 2705 SmartArrayPointer<char> name = shared_info->DebugName()->ToCString(); | 2706 base::SmartArrayPointer<char> name = |
| 2707 shared_info->DebugName()->ToCString(); |
| 2706 PrintF(trace_file, " reading arguments adaptor frame %s", name.get()); | 2708 PrintF(trace_file, " reading arguments adaptor frame %s", name.get()); |
| 2707 PrintF(trace_file, " => height=%d; inputs:\n", height); | 2709 PrintF(trace_file, " => height=%d; inputs:\n", height); |
| 2708 } | 2710 } |
| 2709 return TranslatedFrame::ArgumentsAdaptorFrame(shared_info, height); | 2711 return TranslatedFrame::ArgumentsAdaptorFrame(shared_info, height); |
| 2710 } | 2712 } |
| 2711 | 2713 |
| 2712 case Translation::CONSTRUCT_STUB_FRAME: { | 2714 case Translation::CONSTRUCT_STUB_FRAME: { |
| 2713 SharedFunctionInfo* shared_info = | 2715 SharedFunctionInfo* shared_info = |
| 2714 SharedFunctionInfo::cast(literal_array->get(iterator->Next())); | 2716 SharedFunctionInfo::cast(literal_array->get(iterator->Next())); |
| 2715 int height = iterator->Next(); | 2717 int height = iterator->Next(); |
| 2716 if (trace_file != nullptr) { | 2718 if (trace_file != nullptr) { |
| 2717 SmartArrayPointer<char> name = shared_info->DebugName()->ToCString(); | 2719 base::SmartArrayPointer<char> name = |
| 2720 shared_info->DebugName()->ToCString(); |
| 2718 PrintF(trace_file, " reading construct stub frame %s", name.get()); | 2721 PrintF(trace_file, " reading construct stub frame %s", name.get()); |
| 2719 PrintF(trace_file, " => height=%d; inputs:\n", height); | 2722 PrintF(trace_file, " => height=%d; inputs:\n", height); |
| 2720 } | 2723 } |
| 2721 return TranslatedFrame::ConstructStubFrame(shared_info, height); | 2724 return TranslatedFrame::ConstructStubFrame(shared_info, height); |
| 2722 } | 2725 } |
| 2723 | 2726 |
| 2724 case Translation::GETTER_STUB_FRAME: { | 2727 case Translation::GETTER_STUB_FRAME: { |
| 2725 SharedFunctionInfo* shared_info = | 2728 SharedFunctionInfo* shared_info = |
| 2726 SharedFunctionInfo::cast(literal_array->get(iterator->Next())); | 2729 SharedFunctionInfo::cast(literal_array->get(iterator->Next())); |
| 2727 if (trace_file != nullptr) { | 2730 if (trace_file != nullptr) { |
| 2728 SmartArrayPointer<char> name = shared_info->DebugName()->ToCString(); | 2731 base::SmartArrayPointer<char> name = |
| 2732 shared_info->DebugName()->ToCString(); |
| 2729 PrintF(trace_file, " reading getter frame %s; inputs:\n", name.get()); | 2733 PrintF(trace_file, " reading getter frame %s; inputs:\n", name.get()); |
| 2730 } | 2734 } |
| 2731 return TranslatedFrame::AccessorFrame(TranslatedFrame::kGetter, | 2735 return TranslatedFrame::AccessorFrame(TranslatedFrame::kGetter, |
| 2732 shared_info); | 2736 shared_info); |
| 2733 } | 2737 } |
| 2734 | 2738 |
| 2735 case Translation::SETTER_STUB_FRAME: { | 2739 case Translation::SETTER_STUB_FRAME: { |
| 2736 SharedFunctionInfo* shared_info = | 2740 SharedFunctionInfo* shared_info = |
| 2737 SharedFunctionInfo::cast(literal_array->get(iterator->Next())); | 2741 SharedFunctionInfo::cast(literal_array->get(iterator->Next())); |
| 2738 if (trace_file != nullptr) { | 2742 if (trace_file != nullptr) { |
| 2739 SmartArrayPointer<char> name = shared_info->DebugName()->ToCString(); | 2743 base::SmartArrayPointer<char> name = |
| 2744 shared_info->DebugName()->ToCString(); |
| 2740 PrintF(trace_file, " reading setter frame %s; inputs:\n", name.get()); | 2745 PrintF(trace_file, " reading setter frame %s; inputs:\n", name.get()); |
| 2741 } | 2746 } |
| 2742 return TranslatedFrame::AccessorFrame(TranslatedFrame::kSetter, | 2747 return TranslatedFrame::AccessorFrame(TranslatedFrame::kSetter, |
| 2743 shared_info); | 2748 shared_info); |
| 2744 } | 2749 } |
| 2745 | 2750 |
| 2746 case Translation::COMPILED_STUB_FRAME: { | 2751 case Translation::COMPILED_STUB_FRAME: { |
| 2747 int height = iterator->Next(); | 2752 int height = iterator->Next(); |
| 2748 if (trace_file != nullptr) { | 2753 if (trace_file != nullptr) { |
| 2749 PrintF(trace_file, | 2754 PrintF(trace_file, |
| (...skipping 629 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3379 DCHECK(value_info->IsMaterializedObject()); | 3384 DCHECK(value_info->IsMaterializedObject()); |
| 3380 | 3385 |
| 3381 value_info->value_ = | 3386 value_info->value_ = |
| 3382 Handle<Object>(previously_materialized_objects->get(i), isolate_); | 3387 Handle<Object>(previously_materialized_objects->get(i), isolate_); |
| 3383 } | 3388 } |
| 3384 } | 3389 } |
| 3385 } | 3390 } |
| 3386 | 3391 |
| 3387 } // namespace internal | 3392 } // namespace internal |
| 3388 } // namespace v8 | 3393 } // namespace v8 |
| OLD | NEW |