| OLD | NEW |
| 1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2016, 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 <set> | 5 #include <set> |
| 6 | 6 |
| 7 #include "vm/kernel_to_il.h" | 7 #include "vm/kernel_to_il.h" |
| 8 | 8 |
| 9 #include "vm/compiler.h" | 9 #include "vm/compiler.h" |
| 10 #include "vm/intermediate_language.h" | 10 #include "vm/intermediate_language.h" |
| (...skipping 1832 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1843 if (dst_type.IsMalformed()) { | 1843 if (dst_type.IsMalformed()) { |
| 1844 return ThrowTypeError(); | 1844 return ThrowTypeError(); |
| 1845 } | 1845 } |
| 1846 return CheckAssignableInCheckedMode(dst_type, name_symbol); | 1846 return CheckAssignableInCheckedMode(dst_type, name_symbol); |
| 1847 } | 1847 } |
| 1848 return Fragment(); | 1848 return Fragment(); |
| 1849 } | 1849 } |
| 1850 | 1850 |
| 1851 bool FlowGraphBuilder::NeedsDebugStepCheck(const Function& function, | 1851 bool FlowGraphBuilder::NeedsDebugStepCheck(const Function& function, |
| 1852 TokenPosition position) { | 1852 TokenPosition position) { |
| 1853 return FLAG_support_debugger && position.IsDebugPause() && | 1853 return position.IsDebugPause() && !function.is_native() && |
| 1854 !function.is_native() && function.is_debuggable(); | 1854 function.is_debuggable(); |
| 1855 } | 1855 } |
| 1856 | 1856 |
| 1857 bool FlowGraphBuilder::NeedsDebugStepCheck(Value* value, | 1857 bool FlowGraphBuilder::NeedsDebugStepCheck(Value* value, |
| 1858 TokenPosition position) { | 1858 TokenPosition position) { |
| 1859 if (!FLAG_support_debugger || !position.IsDebugPause()) return false; | 1859 if (!position.IsDebugPause()) { |
| 1860 return false; |
| 1861 } |
| 1860 Definition* definition = value->definition(); | 1862 Definition* definition = value->definition(); |
| 1861 if (definition->IsConstant() || definition->IsLoadStaticField()) return true; | 1863 if (definition->IsConstant() || definition->IsLoadStaticField()) { |
| 1864 return true; |
| 1865 } |
| 1862 if (definition->IsAllocateObject()) { | 1866 if (definition->IsAllocateObject()) { |
| 1863 return !definition->AsAllocateObject()->closure_function().IsNull(); | 1867 return !definition->AsAllocateObject()->closure_function().IsNull(); |
| 1864 } | 1868 } |
| 1865 return definition->IsLoadLocal() && | 1869 return definition->IsLoadLocal() && |
| 1866 !definition->AsLoadLocal()->local().IsInternal(); | 1870 !definition->AsLoadLocal()->local().IsInternal(); |
| 1867 } | 1871 } |
| 1868 | 1872 |
| 1869 Fragment FlowGraphBuilder::DebugStepCheck(TokenPosition position) { | 1873 Fragment FlowGraphBuilder::DebugStepCheck(TokenPosition position) { |
| 1870 return Fragment(new (Z) DebugStepCheckInstr( | 1874 return Fragment(new (Z) DebugStepCheckInstr( |
| 1871 position, RawPcDescriptors::kRuntimeCall, GetNextDeoptId())); | 1875 position, RawPcDescriptors::kRuntimeCall, GetNextDeoptId())); |
| (...skipping 465 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2337 StreamingFlowGraphBuilder streaming_flow_graph_builder( | 2341 StreamingFlowGraphBuilder streaming_flow_graph_builder( |
| 2338 &helper, zone_, script.kernel_data(), script.kernel_data_size()); | 2342 &helper, zone_, script.kernel_data(), script.kernel_data_size()); |
| 2339 return streaming_flow_graph_builder.GetLineStartsFor( | 2343 return streaming_flow_graph_builder.GetLineStartsFor( |
| 2340 script.kernel_script_index()); | 2344 script.kernel_script_index()); |
| 2341 } | 2345 } |
| 2342 | 2346 |
| 2343 } // namespace kernel | 2347 } // namespace kernel |
| 2344 } // namespace dart | 2348 } // namespace dart |
| 2345 | 2349 |
| 2346 #endif // !defined(DART_PRECOMPILED_RUNTIME) | 2350 #endif // !defined(DART_PRECOMPILED_RUNTIME) |
| OLD | NEW |