| OLD | NEW |
| 1 // Copyright 2006-2008 the V8 project authors. All rights reserved. | 1 // Copyright 2006-2008 the V8 project authors. All rights reserved. |
| 2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
| 3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
| 4 // met: | 4 // met: |
| 5 // | 5 // |
| 6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
| 7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
| 8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
| 9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
| 10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
| (...skipping 739 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 750 // Expose the builtins object in the debugger context. | 750 // Expose the builtins object in the debugger context. |
| 751 Handle<String> key = Factory::LookupAsciiSymbol("builtins"); | 751 Handle<String> key = Factory::LookupAsciiSymbol("builtins"); |
| 752 Handle<GlobalObject> global = Handle<GlobalObject>(context->global()); | 752 Handle<GlobalObject> global = Handle<GlobalObject>(context->global()); |
| 753 SetProperty(global, key, Handle<Object>(global->builtins()), NONE); | 753 SetProperty(global, key, Handle<Object>(global->builtins()), NONE); |
| 754 | 754 |
| 755 // Compile the JavaScript for the debugger in the debugger context. | 755 // Compile the JavaScript for the debugger in the debugger context. |
| 756 Debugger::set_compiling_natives(true); | 756 Debugger::set_compiling_natives(true); |
| 757 bool caught_exception = | 757 bool caught_exception = |
| 758 !CompileDebuggerScript(Natives::GetIndex("mirror")) || | 758 !CompileDebuggerScript(Natives::GetIndex("mirror")) || |
| 759 !CompileDebuggerScript(Natives::GetIndex("debug")); | 759 !CompileDebuggerScript(Natives::GetIndex("debug")); |
| 760 |
| 761 if (FLAG_enable_liveedit) { |
| 762 caught_exception = caught_exception || |
| 763 !CompileDebuggerScript(Natives::GetIndex("liveedit")); |
| 764 } |
| 765 |
| 760 Debugger::set_compiling_natives(false); | 766 Debugger::set_compiling_natives(false); |
| 761 | 767 |
| 762 // Make sure we mark the debugger as not loading before we might | 768 // Make sure we mark the debugger as not loading before we might |
| 763 // return. | 769 // return. |
| 764 Debugger::set_loading_debugger(false); | 770 Debugger::set_loading_debugger(false); |
| 765 | 771 |
| 766 // Check for caught exceptions. | 772 // Check for caught exceptions. |
| 767 if (caught_exception) return false; | 773 if (caught_exception) return false; |
| 768 | 774 |
| 769 // Debugger loaded. | 775 // Debugger loaded. |
| (...skipping 1186 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1956 } | 1962 } |
| 1957 | 1963 |
| 1958 // Process debug event. | 1964 // Process debug event. |
| 1959 ProcessDebugEvent(v8::BeforeCompile, | 1965 ProcessDebugEvent(v8::BeforeCompile, |
| 1960 Handle<JSObject>::cast(event_data), | 1966 Handle<JSObject>::cast(event_data), |
| 1961 true); | 1967 true); |
| 1962 } | 1968 } |
| 1963 | 1969 |
| 1964 | 1970 |
| 1965 // Handle debugger actions when a new script is compiled. | 1971 // Handle debugger actions when a new script is compiled. |
| 1966 void Debugger::OnAfterCompile(Handle<Script> script, Handle<JSFunction> fun) { | 1972 void Debugger::OnAfterCompile(Handle<Script> script, |
| 1973 AfterCompileFlags after_compile_flags) { |
| 1967 HandleScope scope; | 1974 HandleScope scope; |
| 1968 | 1975 |
| 1969 // Add the newly compiled script to the script cache. | 1976 // Add the newly compiled script to the script cache. |
| 1970 Debug::AddScriptToScriptCache(script); | 1977 Debug::AddScriptToScriptCache(script); |
| 1971 | 1978 |
| 1972 // No more to do if not debugging. | 1979 // No more to do if not debugging. |
| 1973 if (!IsDebuggerActive()) return; | 1980 if (!IsDebuggerActive()) return; |
| 1974 | 1981 |
| 1975 // No compile events while compiling natives. | 1982 // No compile events while compiling natives. |
| 1976 if (compiling_natives()) return; | 1983 if (compiling_natives()) return; |
| (...skipping 26 matching lines...) Expand all Loading... |
| 2003 const int argc = 1; | 2010 const int argc = 1; |
| 2004 Object** argv[argc] = { reinterpret_cast<Object**>(wrapper.location()) }; | 2011 Object** argv[argc] = { reinterpret_cast<Object**>(wrapper.location()) }; |
| 2005 Handle<Object> result = Execution::TryCall( | 2012 Handle<Object> result = Execution::TryCall( |
| 2006 Handle<JSFunction>::cast(update_script_break_points), | 2013 Handle<JSFunction>::cast(update_script_break_points), |
| 2007 Top::builtins(), argc, argv, | 2014 Top::builtins(), argc, argv, |
| 2008 &caught_exception); | 2015 &caught_exception); |
| 2009 if (caught_exception) { | 2016 if (caught_exception) { |
| 2010 return; | 2017 return; |
| 2011 } | 2018 } |
| 2012 // Bail out based on state or if there is no listener for this event | 2019 // Bail out based on state or if there is no listener for this event |
| 2013 if (in_debugger) return; | 2020 if (in_debugger && (after_compile_flags & SEND_WHEN_DEBUGGING) == 0) return; |
| 2014 if (!Debugger::EventActive(v8::AfterCompile)) return; | 2021 if (!Debugger::EventActive(v8::AfterCompile)) return; |
| 2015 | 2022 |
| 2016 // Create the compile state object. | 2023 // Create the compile state object. |
| 2017 Handle<Object> event_data = MakeCompileEvent(script, | 2024 Handle<Object> event_data = MakeCompileEvent(script, |
| 2018 false, | 2025 false, |
| 2019 &caught_exception); | 2026 &caught_exception); |
| 2020 // Bail out and don't call debugger if exception. | 2027 // Bail out and don't call debugger if exception. |
| 2021 if (caught_exception) { | 2028 if (caught_exception) { |
| 2022 return; | 2029 return; |
| 2023 } | 2030 } |
| (...skipping 768 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2792 { | 2799 { |
| 2793 Locker locker; | 2800 Locker locker; |
| 2794 Debugger::CallMessageDispatchHandler(); | 2801 Debugger::CallMessageDispatchHandler(); |
| 2795 } | 2802 } |
| 2796 } | 2803 } |
| 2797 } | 2804 } |
| 2798 | 2805 |
| 2799 #endif // ENABLE_DEBUGGER_SUPPORT | 2806 #endif // ENABLE_DEBUGGER_SUPPORT |
| 2800 | 2807 |
| 2801 } } // namespace v8::internal | 2808 } } // namespace v8::internal |
| OLD | NEW |