| 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 1353 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1364 Object** argv[argc] = { script_source.location(), | 1364 Object** argv[argc] = { script_source.location(), |
| 1365 script_name.location(), | 1365 script_name.location(), |
| 1366 script_function.location() }; | 1366 script_function.location() }; |
| 1367 return MakeJSObject(CStrVector("MakeCompileEvent"), | 1367 return MakeJSObject(CStrVector("MakeCompileEvent"), |
| 1368 argc, | 1368 argc, |
| 1369 argv, | 1369 argv, |
| 1370 caught_exception); | 1370 caught_exception); |
| 1371 } | 1371 } |
| 1372 | 1372 |
| 1373 | 1373 |
| 1374 Handle<String> Debugger::ProcessRequest(Handle<Object> exec_state, | |
| 1375 Handle<Object> request, | |
| 1376 bool stopped) { | |
| 1377 // Get the function ProcessDebugRequest (declared in debug.js). | |
| 1378 Handle<JSFunction> process_denbug_request = | |
| 1379 Handle<JSFunction>(JSFunction::cast( | |
| 1380 Debug::debug_context()->global()->GetProperty( | |
| 1381 *Factory::LookupAsciiSymbol("ProcessDebugRequest")))); | |
| 1382 | |
| 1383 // Call ProcessDebugRequest expect String result. The ProcessDebugRequest | |
| 1384 // will never throw an exception (see debug.js). | |
| 1385 bool caught_exception; | |
| 1386 const int argc = 3; | |
| 1387 Object** argv[argc] = { exec_state.location(), | |
| 1388 request.location(), | |
| 1389 stopped ? Factory::true_value().location() : | |
| 1390 Factory::false_value().location()}; | |
| 1391 Handle<Object> result = Execution::TryCall(process_denbug_request, | |
| 1392 Factory::undefined_value(), | |
| 1393 argc, argv, | |
| 1394 &caught_exception); | |
| 1395 if (caught_exception) { | |
| 1396 return Factory::empty_symbol(); | |
| 1397 } | |
| 1398 | |
| 1399 return Handle<String>::cast(result); | |
| 1400 } | |
| 1401 | |
| 1402 | |
| 1403 void Debugger::OnException(Handle<Object> exception, bool uncaught) { | 1374 void Debugger::OnException(Handle<Object> exception, bool uncaught) { |
| 1404 HandleScope scope; | 1375 HandleScope scope; |
| 1405 | 1376 |
| 1406 // Bail out based on state or if there is no listener for this event | 1377 // Bail out based on state or if there is no listener for this event |
| 1407 if (Debug::InDebugger()) return; | 1378 if (Debug::InDebugger()) return; |
| 1408 if (!Debugger::EventActive(v8::Exception)) return; | 1379 if (!Debugger::EventActive(v8::Exception)) return; |
| 1409 | 1380 |
| 1410 // Bail out if exception breaks are not active | 1381 // Bail out if exception breaks are not active |
| 1411 if (uncaught) { | 1382 if (uncaught) { |
| 1412 // Uncaught exceptions are reported by either flags. | 1383 // Uncaught exceptions are reported by either flags. |
| (...skipping 550 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1963 } | 1934 } |
| 1964 | 1935 |
| 1965 | 1936 |
| 1966 void LockingMessageQueue::Clear() { | 1937 void LockingMessageQueue::Clear() { |
| 1967 ScopedLock sl(lock_); | 1938 ScopedLock sl(lock_); |
| 1968 queue_.Clear(); | 1939 queue_.Clear(); |
| 1969 } | 1940 } |
| 1970 | 1941 |
| 1971 | 1942 |
| 1972 } } // namespace v8::internal | 1943 } } // namespace v8::internal |
| OLD | NEW |