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

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

Issue 2960413002: Omit JIT compiler from precompiled runtime on ARM, ARM64 and IA32. (Closed)
Patch Set: Created 3 years, 5 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) 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 4
5 #include "vm/compiler.h" 5 #include "vm/compiler.h"
6 6
7 #include "vm/assembler.h" 7 #include "vm/assembler.h"
8 8
9 #include "vm/ast_printer.h" 9 #include "vm/ast_printer.h"
10 #include "vm/block_scheduler.h" 10 #include "vm/block_scheduler.h"
(...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after
150 150
151 return builder.BuildGraph(); 151 return builder.BuildGraph();
152 } 152 }
153 153
154 154
155 void DartCompilationPipeline::FinalizeCompilation(FlowGraph* flow_graph) {} 155 void DartCompilationPipeline::FinalizeCompilation(FlowGraph* flow_graph) {}
156 156
157 157
158 void IrregexpCompilationPipeline::ParseFunction( 158 void IrregexpCompilationPipeline::ParseFunction(
159 ParsedFunction* parsed_function) { 159 ParsedFunction* parsed_function) {
160 RegExpParser::ParseFunction(parsed_function); 160 VMTagScope tagScope(parsed_function->thread(),
161 VMTag::kCompileParseRegExpTagId);
162 Zone* zone = parsed_function->zone();
163 RegExp& regexp = RegExp::Handle(parsed_function->function().regexp());
164
165 const String& pattern = String::Handle(regexp.pattern());
166 const bool multiline = regexp.is_multi_line();
167
168 RegExpCompileData* compile_data = new (zone) RegExpCompileData();
169 if (!RegExpParser::ParseRegExp(pattern, multiline, compile_data)) {
170 // Parsing failures are handled in the RegExp factory constructor.
171 UNREACHABLE();
172 }
173
174 regexp.set_num_bracket_expressions(compile_data->capture_count);
175 if (compile_data->simple) {
176 regexp.set_is_simple();
177 } else {
178 regexp.set_is_complex();
179 }
180
181 parsed_function->SetRegExpCompileData(compile_data);
182
161 // Variables are allocated after compilation. 183 // Variables are allocated after compilation.
162 } 184 }
163 185
164 186
165 FlowGraph* IrregexpCompilationPipeline::BuildFlowGraph( 187 FlowGraph* IrregexpCompilationPipeline::BuildFlowGraph(
166 Zone* zone, 188 Zone* zone,
167 ParsedFunction* parsed_function, 189 ParsedFunction* parsed_function,
168 const ZoneGrowableArray<const ICData*>& ic_data_array, 190 const ZoneGrowableArray<const ICData*>& ic_data_array,
169 intptr_t osr_id) { 191 intptr_t osr_id) {
170 // Compile to the dart IR. 192 // Compile to the dart IR.
(...skipping 2164 matching lines...) Expand 10 before | Expand all | Expand 10 after
2335 2357
2336 2358
2337 bool BackgroundCompiler::IsDisabled() { 2359 bool BackgroundCompiler::IsDisabled() {
2338 UNREACHABLE(); 2360 UNREACHABLE();
2339 return true; 2361 return true;
2340 } 2362 }
2341 2363
2342 #endif // DART_PRECOMPILED_RUNTIME 2364 #endif // DART_PRECOMPILED_RUNTIME
2343 2365
2344 } // namespace dart 2366 } // namespace dart
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698