Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(204)

Side by Side Diff: runtime/vm/kernel_to_il.cc

Issue 2718513002: Void is not required to be `null` anymore. (Closed)
Patch Set: Update Kernel code. Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « runtime/vm/flow_graph_type_propagator.cc ('k') | runtime/vm/object.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 4035 matching lines...) Expand 10 before | Expand all | Expand 10 after
4046 } 4046 }
4047 return instructions; 4047 return instructions;
4048 } 4048 }
4049 4049
4050 4050
4051 Fragment FlowGraphBuilder::CheckAssignableInCheckedMode( 4051 Fragment FlowGraphBuilder::CheckAssignableInCheckedMode(
4052 const AbstractType& dst_type, 4052 const AbstractType& dst_type,
4053 const dart::String& dst_name) { 4053 const dart::String& dst_name) {
4054 Fragment instructions; 4054 Fragment instructions;
4055 if (I->type_checks() && !dst_type.IsDynamicType() && 4055 if (I->type_checks() && !dst_type.IsDynamicType() &&
4056 !dst_type.IsObjectType()) { 4056 !dst_type.IsObjectType() && !dst_type.IsVoidType()) {
4057 LocalVariable* top_of_stack = MakeTemporary(); 4057 LocalVariable* top_of_stack = MakeTemporary();
4058 instructions += LoadLocal(top_of_stack); 4058 instructions += LoadLocal(top_of_stack);
4059 instructions += AssertAssignable(dst_type, dst_name); 4059 instructions += AssertAssignable(dst_type, dst_name);
4060 instructions += Drop(); 4060 instructions += Drop();
4061 } 4061 }
4062 return instructions; 4062 return instructions;
4063 } 4063 }
4064 4064
4065 4065
4066 Fragment FlowGraphBuilder::AssertBool() { 4066 Fragment FlowGraphBuilder::AssertBool() {
(...skipping 2807 matching lines...) Expand 10 before | Expand all | Expand 10 after
6874 thread->clear_sticky_error(); 6874 thread->clear_sticky_error();
6875 return error.raw(); 6875 return error.raw();
6876 } 6876 }
6877 } 6877 }
6878 6878
6879 6879
6880 } // namespace kernel 6880 } // namespace kernel
6881 } // namespace dart 6881 } // namespace dart
6882 6882
6883 #endif // !defined(DART_PRECOMPILED_RUNTIME) 6883 #endif // !defined(DART_PRECOMPILED_RUNTIME)
OLDNEW
« no previous file with comments | « runtime/vm/flow_graph_type_propagator.cc ('k') | runtime/vm/object.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698