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

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

Issue 1678203002: Remove more feature in product mode (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 4 years, 10 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/intermediate_language.h ('k') | runtime/vm/isolate.h » ('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) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, 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 // Class for intrinsifying functions. 4 // Class for intrinsifying functions.
5 5
6 #include "vm/assembler.h" 6 #include "vm/assembler.h"
7 #include "vm/compiler.h" 7 #include "vm/compiler.h"
8 #include "vm/flags.h" 8 #include "vm/flags.h"
9 #include "vm/flow_graph.h" 9 #include "vm/flow_graph.h"
10 #include "vm/flow_graph_compiler.h" 10 #include "vm/flow_graph_compiler.h"
(...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after
149 case MethodRecognizer::k##enum_name: \ 149 case MethodRecognizer::k##enum_name: \
150 if (!Build_##enum_name(graph)) return false; \ 150 if (!Build_##enum_name(graph)) return false; \
151 break; 151 break;
152 152
153 GRAPH_INTRINSICS_LIST(EMIT_CASE); 153 GRAPH_INTRINSICS_LIST(EMIT_CASE);
154 default: 154 default:
155 return false; 155 return false;
156 #undef EMIT_CASE 156 #undef EMIT_CASE
157 } 157 }
158 158
159 if (FLAG_print_flow_graph && FlowGraphPrinter::ShouldPrint(function)) { 159 if (FLAG_support_il_printer &&
160 FLAG_print_flow_graph && FlowGraphPrinter::ShouldPrint(function)) {
160 THR_Print("Intrinsic graph before\n"); 161 THR_Print("Intrinsic graph before\n");
161 FlowGraphPrinter printer(*graph); 162 FlowGraphPrinter printer(*graph);
162 printer.PrintBlocks(); 163 printer.PrintBlocks();
163 } 164 }
164 165
165 // Perform register allocation on the SSA graph. 166 // Perform register allocation on the SSA graph.
166 FlowGraphAllocator allocator(*graph, true); // Intrinsic mode. 167 FlowGraphAllocator allocator(*graph, true); // Intrinsic mode.
167 allocator.AllocateRegisters(); 168 allocator.AllocateRegisters();
168 169
169 if (FLAG_print_flow_graph && FlowGraphPrinter::ShouldPrint(function)) { 170 if (FLAG_support_il_printer &&
171 FLAG_print_flow_graph && FlowGraphPrinter::ShouldPrint(function)) {
170 THR_Print("Intrinsic graph after\n"); 172 THR_Print("Intrinsic graph after\n");
171 FlowGraphPrinter printer(*graph); 173 FlowGraphPrinter printer(*graph);
172 printer.PrintBlocks(); 174 printer.PrintBlocks();
173 } 175 }
174 EmitCodeFor(compiler, graph); 176 EmitCodeFor(compiler, graph);
175 return true; 177 return true;
176 } 178 }
177 179
178 180
179 void Intrinsifier::Intrinsify(const ParsedFunction& parsed_function, 181 void Intrinsifier::Intrinsify(const ParsedFunction& parsed_function,
(...skipping 701 matching lines...) Expand 10 before | Expand all | Expand 10 after
881 new UnaryDoubleOpInstr(Token::kNEGATE, 883 new UnaryDoubleOpInstr(Token::kNEGATE,
882 new Value(unboxed_value), 884 new Value(unboxed_value),
883 Thread::kNoDeoptId)); 885 Thread::kNoDeoptId));
884 Definition* result = builder.AddDefinition( 886 Definition* result = builder.AddDefinition(
885 BoxInstr::Create(kUnboxedDouble, new Value(unboxed_result))); 887 BoxInstr::Create(kUnboxedDouble, new Value(unboxed_result)));
886 builder.AddIntrinsicReturn(new Value(result)); 888 builder.AddIntrinsicReturn(new Value(result));
887 return true; 889 return true;
888 } 890 }
889 891
890 } // namespace dart 892 } // namespace dart
OLDNEW
« no previous file with comments | « runtime/vm/intermediate_language.h ('k') | runtime/vm/isolate.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698