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

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

Issue 1153963002: Remove value check from ICData checks/house-keeping (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: c Created 5 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
OLDNEW
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/intermediate_language.h" 5 #include "vm/intermediate_language.h"
6 6
7 #include "vm/bit_vector.h" 7 #include "vm/bit_vector.h"
8 #include "vm/constant_propagator.h" 8 #include "vm/constant_propagator.h"
9 #include "vm/cpu.h" 9 #include "vm/cpu.h"
10 #include "vm/dart_entry.h" 10 #include "vm/dart_entry.h"
(...skipping 2923 matching lines...) Expand 10 before | Expand all | Expand 10 after
2934 } 2934 }
2935 } 2935 }
2936 2936
2937 2937
2938 void InstanceCallInstr::EmitNativeCode(FlowGraphCompiler* compiler) { 2938 void InstanceCallInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
2939 Zone* zone = compiler->zone(); 2939 Zone* zone = compiler->zone();
2940 const ICData* call_ic_data = NULL; 2940 const ICData* call_ic_data = NULL;
2941 if (!FLAG_propagate_ic_data || !compiler->is_optimizing()) { 2941 if (!FLAG_propagate_ic_data || !compiler->is_optimizing()) {
2942 const Array& arguments_descriptor = 2942 const Array& arguments_descriptor =
2943 Array::Handle(zone, ArgumentsDescriptor::New(ArgumentCount(), 2943 Array::Handle(zone, ArgumentsDescriptor::New(ArgumentCount(),
2944 argument_names())); 2944 argument_names()));
2945 call_ic_data = compiler->GetOrAddInstanceCallICData( 2945 call_ic_data = compiler->GetOrAddInstanceCallICData(
2946 deopt_id(), function_name(), arguments_descriptor, 2946 deopt_id(), function_name(), arguments_descriptor,
2947 checked_argument_count()); 2947 checked_argument_count());
2948 } else { 2948 } else {
2949 call_ic_data = &ICData::ZoneHandle(zone, ic_data()->raw()); 2949 call_ic_data = &ICData::ZoneHandle(zone, ic_data()->raw());
2950 } 2950 }
2951 if (compiler->is_optimizing()) { 2951 if (compiler->is_optimizing()) {
2952 ASSERT(HasICData()); 2952 ASSERT(HasICData());
2953 if (ic_data()->NumberOfUsedChecks() > 0) { 2953 if (ic_data()->NumberOfUsedChecks() > 0) {
2954 const ICData& unary_ic_data = 2954 const ICData& unary_ic_data =
(...skipping 644 matching lines...) Expand 10 before | Expand all | Expand 10 after
3599 case Token::kTRUNCDIV: return 0; 3599 case Token::kTRUNCDIV: return 0;
3600 case Token::kMOD: return 1; 3600 case Token::kMOD: return 1;
3601 default: UNIMPLEMENTED(); return -1; 3601 default: UNIMPLEMENTED(); return -1;
3602 } 3602 }
3603 } 3603 }
3604 3604
3605 3605
3606 #undef __ 3606 #undef __
3607 3607
3608 } // namespace dart 3608 } // namespace dart
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698