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 | 5 |
6 #include "src/v8.h" | 6 #include "src/v8.h" |
7 | 7 |
8 #include "src/liveedit.h" | 8 #include "src/liveedit.h" |
9 | 9 |
10 #include "src/code-stubs.h" | 10 #include "src/code-stubs.h" |
(...skipping 1725 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1736 class MultipleFunctionTarget { | 1736 class MultipleFunctionTarget { |
1737 public: | 1737 public: |
1738 MultipleFunctionTarget(Handle<JSArray> shared_info_array, | 1738 MultipleFunctionTarget(Handle<JSArray> shared_info_array, |
1739 Handle<JSArray> result) | 1739 Handle<JSArray> result) |
1740 : m_shared_info_array(shared_info_array), | 1740 : m_shared_info_array(shared_info_array), |
1741 m_result(result) {} | 1741 m_result(result) {} |
1742 bool MatchActivation(StackFrame* frame, | 1742 bool MatchActivation(StackFrame* frame, |
1743 LiveEdit::FunctionPatchabilityStatus status) { | 1743 LiveEdit::FunctionPatchabilityStatus status) { |
1744 return CheckActivation(m_shared_info_array, m_result, frame, status); | 1744 return CheckActivation(m_shared_info_array, m_result, frame, status); |
1745 } | 1745 } |
1746 const char* GetNotFoundMessage() { | 1746 const char* GetNotFoundMessage() const { |
1747 return NULL; | 1747 return NULL; |
1748 } | 1748 } |
1749 private: | 1749 private: |
1750 Handle<JSArray> m_shared_info_array; | 1750 Handle<JSArray> m_shared_info_array; |
1751 Handle<JSArray> m_result; | 1751 Handle<JSArray> m_result; |
1752 }; | 1752 }; |
1753 | 1753 |
1754 | 1754 |
1755 // Drops all call frame matched by target and all frames above them. | 1755 // Drops all call frame matched by target and all frames above them. |
1756 template<typename TARGET> | 1756 template<typename TARGET> |
1757 static const char* DropActivationsInActiveThreadImpl( | 1757 static const char* DropActivationsInActiveThreadImpl( |
1758 Isolate* isolate, TARGET& target, bool do_drop) { | 1758 Isolate* isolate, |
| 1759 TARGET& target, // NOLINT |
| 1760 bool do_drop) { |
1759 Debug* debug = isolate->debug(); | 1761 Debug* debug = isolate->debug(); |
1760 Zone zone(isolate); | 1762 Zone zone(isolate); |
1761 Vector<StackFrame*> frames = CreateStackMap(isolate, &zone); | 1763 Vector<StackFrame*> frames = CreateStackMap(isolate, &zone); |
1762 | 1764 |
1763 | 1765 |
1764 int top_frame_index = -1; | 1766 int top_frame_index = -1; |
1765 int frame_index = 0; | 1767 int frame_index = 0; |
1766 for (; frame_index < frames.length(); frame_index++) { | 1768 for (; frame_index < frames.length(); frame_index++) { |
1767 StackFrame* frame = frames[frame_index]; | 1769 StackFrame* frame = frames[frame_index]; |
1768 if (frame->id() == debug->break_frame_id()) { | 1770 if (frame->id() == debug->break_frame_id()) { |
(...skipping 237 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2006 m_saved_status(LiveEdit::FUNCTION_AVAILABLE_FOR_PATCH) {} | 2008 m_saved_status(LiveEdit::FUNCTION_AVAILABLE_FOR_PATCH) {} |
2007 | 2009 |
2008 bool MatchActivation(StackFrame* frame, | 2010 bool MatchActivation(StackFrame* frame, |
2009 LiveEdit::FunctionPatchabilityStatus status) { | 2011 LiveEdit::FunctionPatchabilityStatus status) { |
2010 if (frame->fp() == m_frame->fp()) { | 2012 if (frame->fp() == m_frame->fp()) { |
2011 m_saved_status = status; | 2013 m_saved_status = status; |
2012 return true; | 2014 return true; |
2013 } | 2015 } |
2014 return false; | 2016 return false; |
2015 } | 2017 } |
2016 const char* GetNotFoundMessage() { | 2018 const char* GetNotFoundMessage() const { |
2017 return "Failed to found requested frame"; | 2019 return "Failed to found requested frame"; |
2018 } | 2020 } |
2019 LiveEdit::FunctionPatchabilityStatus saved_status() { | 2021 LiveEdit::FunctionPatchabilityStatus saved_status() { |
2020 return m_saved_status; | 2022 return m_saved_status; |
2021 } | 2023 } |
2022 private: | 2024 private: |
2023 JavaScriptFrame* m_frame; | 2025 JavaScriptFrame* m_frame; |
2024 LiveEdit::FunctionPatchabilityStatus m_saved_status; | 2026 LiveEdit::FunctionPatchabilityStatus m_saved_status; |
2025 }; | 2027 }; |
2026 | 2028 |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2074 void LiveEditFunctionTracker::RecordRootFunctionInfo(Handle<Code> code) { | 2076 void LiveEditFunctionTracker::RecordRootFunctionInfo(Handle<Code> code) { |
2075 isolate_->active_function_info_listener()->FunctionCode(code); | 2077 isolate_->active_function_info_listener()->FunctionCode(code); |
2076 } | 2078 } |
2077 | 2079 |
2078 | 2080 |
2079 bool LiveEditFunctionTracker::IsActive(Isolate* isolate) { | 2081 bool LiveEditFunctionTracker::IsActive(Isolate* isolate) { |
2080 return isolate->active_function_info_listener() != NULL; | 2082 return isolate->active_function_info_listener() != NULL; |
2081 } | 2083 } |
2082 | 2084 |
2083 } } // namespace v8::internal | 2085 } } // namespace v8::internal |
OLD | NEW |