| OLD | NEW |
| 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 #include "vm/code_generator.h" | 5 #include "vm/code_generator.h" |
| 6 | 6 |
| 7 #include "vm/assembler.h" | 7 #include "vm/assembler.h" |
| 8 #include "vm/ast.h" | 8 #include "vm/ast.h" |
| 9 #include "vm/bigint_operations.h" | 9 #include "vm/bigint_operations.h" |
| 10 #include "vm/code_patcher.h" | 10 #include "vm/code_patcher.h" |
| (...skipping 797 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 808 // Gets called from debug stub when code reaches a breakpoint before | 808 // Gets called from debug stub when code reaches a breakpoint before |
| 809 // calling a closure. | 809 // calling a closure. |
| 810 DEFINE_RUNTIME_ENTRY(BreakpointClosureHandler, 0) { | 810 DEFINE_RUNTIME_ENTRY(BreakpointClosureHandler, 0) { |
| 811 ASSERT(arguments.ArgCount() == | 811 ASSERT(arguments.ArgCount() == |
| 812 kBreakpointClosureHandlerRuntimeEntry.argument_count()); | 812 kBreakpointClosureHandlerRuntimeEntry.argument_count()); |
| 813 ASSERT(isolate->debugger() != NULL); | 813 ASSERT(isolate->debugger() != NULL); |
| 814 isolate->debugger()->SignalBpReached(); | 814 isolate->debugger()->SignalBpReached(); |
| 815 } | 815 } |
| 816 | 816 |
| 817 | 817 |
| 818 // Gets called from debug stub when code reaches a breakpoint |
| 819 // at the stub call to update the ic cache on equality comparison |
| 820 // with null. |
| 821 DEFINE_RUNTIME_ENTRY(BreakpointEqualNullHandler, 0) { |
| 822 ASSERT(arguments.ArgCount() == |
| 823 kBreakpointEqualNullHandlerRuntimeEntry.argument_count()); |
| 824 ASSERT(isolate->debugger() != NULL); |
| 825 isolate->debugger()->SignalBpReached(); |
| 826 } |
| 827 |
| 828 |
| 818 // Gets called from debug stub when code reaches a breakpoint. | 829 // Gets called from debug stub when code reaches a breakpoint. |
| 819 DEFINE_RUNTIME_ENTRY(BreakpointStaticHandler, 0) { | 830 DEFINE_RUNTIME_ENTRY(BreakpointStaticHandler, 0) { |
| 820 ASSERT(arguments.ArgCount() == | 831 ASSERT(arguments.ArgCount() == |
| 821 kBreakpointStaticHandlerRuntimeEntry.argument_count()); | 832 kBreakpointStaticHandlerRuntimeEntry.argument_count()); |
| 822 ASSERT(isolate->debugger() != NULL); | 833 ASSERT(isolate->debugger() != NULL); |
| 823 isolate->debugger()->SignalBpReached(); | 834 isolate->debugger()->SignalBpReached(); |
| 824 // Make sure the static function that is about to be called is | 835 // Make sure the static function that is about to be called is |
| 825 // compiled. The stub will jump to the entry point without any | 836 // compiled. The stub will jump to the entry point without any |
| 826 // further tests. | 837 // further tests. |
| 827 DartFrameIterator iterator; | 838 DartFrameIterator iterator; |
| (...skipping 929 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1757 // Arg1: Value that is being stored. | 1768 // Arg1: Value that is being stored. |
| 1758 DEFINE_RUNTIME_ENTRY(UpdateFieldCid, 2) { | 1769 DEFINE_RUNTIME_ENTRY(UpdateFieldCid, 2) { |
| 1759 ASSERT(arguments.ArgCount() == kUpdateFieldCidRuntimeEntry.argument_count()); | 1770 ASSERT(arguments.ArgCount() == kUpdateFieldCidRuntimeEntry.argument_count()); |
| 1760 const Field& field = Field::CheckedHandle(arguments.ArgAt(0)); | 1771 const Field& field = Field::CheckedHandle(arguments.ArgAt(0)); |
| 1761 const Object& value = Object::Handle(arguments.ArgAt(1)); | 1772 const Object& value = Object::Handle(arguments.ArgAt(1)); |
| 1762 | 1773 |
| 1763 field.UpdateCid(Class::Handle(value.clazz()).id()); | 1774 field.UpdateCid(Class::Handle(value.clazz()).id()); |
| 1764 } | 1775 } |
| 1765 | 1776 |
| 1766 } // namespace dart | 1777 } // namespace dart |
| OLD | NEW |