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

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

Issue 2463593002: VM: Enable branch merging of isnan, isinf. (Closed)
Patch Set: DBC support Created 4 years, 1 month 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/bootstrap.h" 8 #include "vm/bootstrap.h"
9 #include "vm/compiler.h" 9 #include "vm/compiler.h"
10 #include "vm/constant_propagator.h" 10 #include "vm/constant_propagator.h"
(...skipping 3004 matching lines...) Expand 10 before | Expand all | Expand 10 after
3015 __ Drop(num_temps()); 3015 __ Drop(num_temps());
3016 #endif // defined(TARGET_ARCH_DBC) 3016 #endif // defined(TARGET_ARCH_DBC)
3017 } 3017 }
3018 3018
3019 3019
3020 StrictCompareInstr::StrictCompareInstr(TokenPosition token_pos, 3020 StrictCompareInstr::StrictCompareInstr(TokenPosition token_pos,
3021 Token::Kind kind, 3021 Token::Kind kind,
3022 Value* left, 3022 Value* left,
3023 Value* right, 3023 Value* right,
3024 bool needs_number_check) 3024 bool needs_number_check)
3025 : ComparisonInstr(token_pos, 3025 : TemplateComparison(token_pos,
3026 kind, 3026 kind,
zra 2016/10/31 17:28:14 weird indent
Florian Schneider 2016/10/31 18:48:16 Done.
3027 left,
3028 right,
3029 Thread::Current()->GetNextDeoptId()), 3027 Thread::Current()->GetNextDeoptId()),
3030 needs_number_check_(needs_number_check) { 3028 needs_number_check_(needs_number_check) {
3031 ASSERT((kind == Token::kEQ_STRICT) || (kind == Token::kNE_STRICT)); 3029 ASSERT((kind == Token::kEQ_STRICT) || (kind == Token::kNE_STRICT));
3030 SetInputAt(0, left);
3031 SetInputAt(1, right);
3032 } 3032 }
3033 3033
3034 3034
3035 LocationSummary* InstanceCallInstr::MakeLocationSummary(Zone* zone, 3035 LocationSummary* InstanceCallInstr::MakeLocationSummary(Zone* zone,
3036 bool optimizing) const { 3036 bool optimizing) const {
3037 return MakeCallSummary(zone); 3037 return MakeCallSummary(zone);
3038 } 3038 }
3039 3039
3040 3040
3041 // DBC does not use specialized inline cache stubs for smi operations. 3041 // DBC does not use specialized inline cache stubs for smi operations.
(...skipping 375 matching lines...) Expand 10 before | Expand all | Expand 10 after
3417 intptr_t use_index = instr->env()->Length(); // Start index after inner. 3417 intptr_t use_index = instr->env()->Length(); // Start index after inner.
3418 for (Environment::DeepIterator it(copy); !it.Done(); it.Advance()) { 3418 for (Environment::DeepIterator it(copy); !it.Done(); it.Advance()) {
3419 Value* value = it.CurrentValue(); 3419 Value* value = it.CurrentValue();
3420 value->set_instruction(instr); 3420 value->set_instruction(instr);
3421 value->set_use_index(use_index++); 3421 value->set_use_index(use_index++);
3422 value->definition()->AddEnvUse(value); 3422 value->definition()->AddEnvUse(value);
3423 } 3423 }
3424 } 3424 }
3425 3425
3426 3426
3427 ComparisonInstr* DoubleTestOpInstr::CopyWithNewOperands(Value* new_left,
3428 Value* new_right) {
3429 UNREACHABLE();
3430 return NULL;
3431 }
3432
3433
3427 ComparisonInstr* EqualityCompareInstr::CopyWithNewOperands(Value* new_left, 3434 ComparisonInstr* EqualityCompareInstr::CopyWithNewOperands(Value* new_left,
3428 Value* new_right) { 3435 Value* new_right) {
3429 return new EqualityCompareInstr(token_pos(), 3436 return new EqualityCompareInstr(token_pos(),
3430 kind(), 3437 kind(),
3431 new_left, 3438 new_left,
3432 new_right, 3439 new_right,
3433 operation_cid(), 3440 operation_cid(),
3434 deopt_id()); 3441 deopt_id());
3435 } 3442 }
3436 3443
(...skipping 429 matching lines...) Expand 10 before | Expand all | Expand 10 after
3866 set_native_c_function(native_function); 3873 set_native_c_function(native_function);
3867 function().SetIsNativeAutoSetupScope(auto_setup_scope); 3874 function().SetIsNativeAutoSetupScope(auto_setup_scope);
3868 Dart_NativeEntryResolver resolver = library.native_entry_resolver(); 3875 Dart_NativeEntryResolver resolver = library.native_entry_resolver();
3869 bool is_bootstrap_native = Bootstrap::IsBootstapResolver(resolver); 3876 bool is_bootstrap_native = Bootstrap::IsBootstapResolver(resolver);
3870 set_is_bootstrap_native(is_bootstrap_native); 3877 set_is_bootstrap_native(is_bootstrap_native);
3871 } 3878 }
3872 3879
3873 #undef __ 3880 #undef __
3874 3881
3875 } // namespace dart 3882 } // namespace dart
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698