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

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

Issue 1791613002: Enable background compilation of regexp methods. Regexp functions may use indirect goto instruction… (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: sync Created 4 years, 9 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/code_generator.cc ('k') | runtime/vm/intermediate_language_ia32.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) 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 1276 matching lines...) Expand 10 before | Expand all | Expand 10 after
1287 1287
1288 RawError* Compiler::CompileOptimizedFunction(Thread* thread, 1288 RawError* Compiler::CompileOptimizedFunction(Thread* thread,
1289 const Function& function, 1289 const Function& function,
1290 intptr_t osr_id) { 1290 intptr_t osr_id) {
1291 VMTagScope tagScope(thread, VMTag::kCompileOptimizedTagId); 1291 VMTagScope tagScope(thread, VMTag::kCompileOptimizedTagId);
1292 TIMELINE_FUNCTION_COMPILATION_DURATION(thread, 1292 TIMELINE_FUNCTION_COMPILATION_DURATION(thread,
1293 "OptimizedFunction", function); 1293 "OptimizedFunction", function);
1294 1294
1295 // Optimization must happen in non-mutator/Dart thread if background 1295 // Optimization must happen in non-mutator/Dart thread if background
1296 // compilation is on. OSR compilation still occurs in the main thread. 1296 // compilation is on. OSR compilation still occurs in the main thread.
1297 // TODO(Srdjan): Remove assert allowance for regular expression functions
1298 // once they can be compiled in background.
1299 ASSERT((osr_id != kNoOSRDeoptId) || !FLAG_background_compilation || 1297 ASSERT((osr_id != kNoOSRDeoptId) || !FLAG_background_compilation ||
1300 !thread->IsMutatorThread() || 1298 !thread->IsMutatorThread());
1301 function.IsIrregexpFunction());
1302 CompilationPipeline* pipeline = 1299 CompilationPipeline* pipeline =
1303 CompilationPipeline::New(thread->zone(), function); 1300 CompilationPipeline::New(thread->zone(), function);
1304 return CompileFunctionHelper(pipeline, 1301 return CompileFunctionHelper(pipeline,
1305 function, 1302 function,
1306 true, /* optimized */ 1303 true, /* optimized */
1307 osr_id); 1304 osr_id);
1308 } 1305 }
1309 1306
1310 1307
1311 // This is only used from unit tests. 1308 // This is only used from unit tests.
(...skipping 552 matching lines...) Expand 10 before | Expand all | Expand 10 after
1864 } 1861 }
1865 1862
1866 1863
1867 void BackgroundCompiler::EnsureInit(Thread* thread) { 1864 void BackgroundCompiler::EnsureInit(Thread* thread) {
1868 UNREACHABLE(); 1865 UNREACHABLE();
1869 } 1866 }
1870 1867
1871 #endif // DART_PRECOMPILED_RUNTIME 1868 #endif // DART_PRECOMPILED_RUNTIME
1872 1869
1873 } // namespace dart 1870 } // namespace dart
OLDNEW
« no previous file with comments | « runtime/vm/code_generator.cc ('k') | runtime/vm/intermediate_language_ia32.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698