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

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

Issue 2466643002: AOT: Enable branch merging for checked smi comparisons (Closed)
Patch Set: addressed comments 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
« no previous file with comments | « runtime/vm/intermediate_language_arm64.cc ('k') | runtime/vm/intermediate_language_mips.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) 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/globals.h" // Needed here to get TARGET_ARCH_IA32. 5 #include "vm/globals.h" // Needed here to get TARGET_ARCH_IA32.
6 #if defined(TARGET_ARCH_IA32) 6 #if defined(TARGET_ARCH_IA32)
7 7
8 #include "vm/intermediate_language.h" 8 #include "vm/intermediate_language.h"
9 9
10 #include "vm/compiler.h" 10 #include "vm/compiler.h"
(...skipping 2784 matching lines...) Expand 10 before | Expand all | Expand 10 after
2795 return NULL; 2795 return NULL;
2796 } 2796 }
2797 2797
2798 2798
2799 void CheckedSmiOpInstr::EmitNativeCode(FlowGraphCompiler* compiler) { 2799 void CheckedSmiOpInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
2800 // Only for precompiled code, not on ia32 currently. 2800 // Only for precompiled code, not on ia32 currently.
2801 UNIMPLEMENTED(); 2801 UNIMPLEMENTED();
2802 } 2802 }
2803 2803
2804 2804
2805 LocationSummary* CheckedSmiComparisonInstr::MakeLocationSummary(
2806 Zone* zone, bool opt) const {
2807 // Only for precompiled code, not on ia32 currently.
2808 UNIMPLEMENTED();
2809 return NULL;
2810 }
2811
2812
2813 Condition CheckedSmiComparisonInstr::EmitComparisonCode(
2814 FlowGraphCompiler* compiler, BranchLabels labels) {
2815 // Only for precompiled code, not on ia32 currently.
2816 UNIMPLEMENTED();
2817 return ZERO;
2818 }
2819
2820
2821 void CheckedSmiComparisonInstr::EmitBranchCode(FlowGraphCompiler* compiler,
2822 BranchInstr* instr) {
2823 // Only for precompiled code, not on ia32 currently.
2824 UNIMPLEMENTED();
2825 }
2826
2827
2828 void CheckedSmiComparisonInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
2829 // Only for precompiled code, not on ia32 currently.
2830 UNIMPLEMENTED();
2831 }
2832
2833
2805 static bool IsSmiValue(const Object& constant, intptr_t value) { 2834 static bool IsSmiValue(const Object& constant, intptr_t value) {
2806 return constant.IsSmi() && (Smi::Cast(constant).Value() == value); 2835 return constant.IsSmi() && (Smi::Cast(constant).Value() == value);
2807 } 2836 }
2808 2837
2809 2838
2810 LocationSummary* BinarySmiOpInstr::MakeLocationSummary(Zone* zone, 2839 LocationSummary* BinarySmiOpInstr::MakeLocationSummary(Zone* zone,
2811 bool opt) const { 2840 bool opt) const {
2812 const intptr_t kNumInputs = 2; 2841 const intptr_t kNumInputs = 2;
2813 if (op_kind() == Token::kTRUNCDIV) { 2842 if (op_kind() == Token::kTRUNCDIV) {
2814 const intptr_t kNumTemps = 1; 2843 const intptr_t kNumTemps = 1;
(...skipping 4145 matching lines...) Expand 10 before | Expand all | Expand 10 after
6960 __ Drop(1); 6989 __ Drop(1);
6961 __ popl(result); 6990 __ popl(result);
6962 } 6991 }
6963 6992
6964 6993
6965 } // namespace dart 6994 } // namespace dart
6966 6995
6967 #undef __ 6996 #undef __
6968 6997
6969 #endif // defined TARGET_ARCH_IA32 6998 #endif // defined TARGET_ARCH_IA32
OLDNEW
« no previous file with comments | « runtime/vm/intermediate_language_arm64.cc ('k') | runtime/vm/intermediate_language_mips.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698