OLD | NEW |
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 #ifndef VM_COMPILER_H_ | 5 #ifndef VM_COMPILER_H_ |
6 #define VM_COMPILER_H_ | 6 #define VM_COMPILER_H_ |
7 | 7 |
8 #include "vm/allocation.h" | 8 #include "vm/allocation.h" |
9 #include "vm/growable_array.h" | 9 #include "vm/growable_array.h" |
10 #include "vm/runtime_entry.h" | 10 #include "vm/runtime_entry.h" |
(...skipping 23 matching lines...) Expand all Loading... |
34 // the class. | 34 // the class. |
35 // | 35 // |
36 // Returns Error::null() if there is no compilation error. | 36 // Returns Error::null() if there is no compilation error. |
37 static RawError* CompileClass(const Class& cls); | 37 static RawError* CompileClass(const Class& cls); |
38 | 38 |
39 // Generates code for given function and sets its code field. | 39 // Generates code for given function and sets its code field. |
40 // | 40 // |
41 // Returns Error::null() if there is no compilation error. | 41 // Returns Error::null() if there is no compilation error. |
42 static RawError* CompileFunction(Thread* thread, const Function& function); | 42 static RawError* CompileFunction(Thread* thread, const Function& function); |
43 | 43 |
| 44 // Generates unoptimized code if not present, current code is unchanged. |
| 45 static void EnsureUnoptimizedCode(Thread* thread, const Function& function); |
| 46 |
44 // Generates optimized code for function. | 47 // Generates optimized code for function. |
45 // | 48 // |
46 // Returns Error::null() if there is no compilation error. | 49 // Returns Error::null() if there is no compilation error. |
47 static RawError* CompileOptimizedFunction( | 50 static RawError* CompileOptimizedFunction( |
48 Thread* thread, | 51 Thread* thread, |
49 const Function& function, | 52 const Function& function, |
50 intptr_t osr_id = Isolate::kNoDeoptId); | 53 intptr_t osr_id = Isolate::kNoDeoptId); |
51 | 54 |
52 // Generates code for given parsed function (without parsing it again) and | 55 // Generates code for given parsed function (without parsing it again) and |
53 // sets its code field. | 56 // sets its code field. |
(...skipping 17 matching lines...) Expand all Loading... |
71 | 74 |
72 // Eagerly compiles all functions in a class. | 75 // Eagerly compiles all functions in a class. |
73 // | 76 // |
74 // Returns Error::null() if there is no compilation error. | 77 // Returns Error::null() if there is no compilation error. |
75 static RawError* CompileAllFunctions(const Class& cls); | 78 static RawError* CompileAllFunctions(const Class& cls); |
76 }; | 79 }; |
77 | 80 |
78 } // namespace dart | 81 } // namespace dart |
79 | 82 |
80 #endif // VM_COMPILER_H_ | 83 #endif // VM_COMPILER_H_ |
OLD | NEW |