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 359 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
370 // Patch the code to invoke the builtin debug break function matching the | 370 // Patch the code to invoke the builtin debug break function matching the |
371 // calling convention used by the call site. | 371 // calling convention used by the call site. |
372 Handle<Code> dbgbrk_code(Debug::FindDebugBreak(code, mode)); | 372 Handle<Code> dbgbrk_code(Debug::FindDebugBreak(code, mode)); |
373 rinfo()->set_target_address(dbgbrk_code->entry()); | 373 rinfo()->set_target_address(dbgbrk_code->entry()); |
374 | 374 |
375 // For stubs that refer back to an inlined version clear the cached map for | 375 // For stubs that refer back to an inlined version clear the cached map for |
376 // the inlined case to always go through the IC. As long as the break point | 376 // the inlined case to always go through the IC. As long as the break point |
377 // is set the patching performed by the runtime system will take place in | 377 // is set the patching performed by the runtime system will take place in |
378 // the code copy and will therefore have no effect on the running code | 378 // the code copy and will therefore have no effect on the running code |
379 // keeping it from using the inlined code. | 379 // keeping it from using the inlined code. |
380 if (code->is_keyed_load_stub() && KeyedLoadIC::HasInlinedVersion(pc())) { | 380 if (code->is_keyed_load_stub()) KeyedLoadIC::ClearInlinedVersion(pc()); |
381 KeyedLoadIC::ClearInlinedVersion(pc()); | |
382 } | |
383 } | 381 } |
384 } | 382 } |
385 | 383 |
386 | 384 |
387 void BreakLocationIterator::ClearDebugBreakAtIC() { | 385 void BreakLocationIterator::ClearDebugBreakAtIC() { |
388 // Patch the code to the original invoke. | 386 // Patch the code to the original invoke. |
389 rinfo()->set_target_address(original_rinfo()->target_address()); | 387 rinfo()->set_target_address(original_rinfo()->target_address()); |
390 } | 388 } |
391 | 389 |
392 | 390 |
(...skipping 1815 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2208 | 2206 |
2209 | 2207 |
2210 void LockingCommandMessageQueue::Clear() { | 2208 void LockingCommandMessageQueue::Clear() { |
2211 ScopedLock sl(lock_); | 2209 ScopedLock sl(lock_); |
2212 queue_.Clear(); | 2210 queue_.Clear(); |
2213 } | 2211 } |
2214 | 2212 |
2215 #endif // ENABLE_DEBUGGER_SUPPORT | 2213 #endif // ENABLE_DEBUGGER_SUPPORT |
2216 | 2214 |
2217 } } // namespace v8::internal | 2215 } } // namespace v8::internal |
OLD | NEW |