Mercurial > hg > truffle
comparison src/share/vm/runtime/compilationPolicy.hpp @ 6948:e522a00b91aa
Merge with http://hg.openjdk.java.net/hsx/hsx25/hotspot/ after NPG - C++ build works
author | Doug Simon <doug.simon@oracle.com> |
---|---|
date | Mon, 12 Nov 2012 23:14:12 +0100 |
parents | 957c266d8bc5 da91efe96a93 |
children | 5d0bb7d52783 |
comparison
equal
deleted
inserted
replaced
6711:ae13cc658b80 | 6948:e522a00b91aa |
---|---|
1 /* | 1 /* |
2 * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved. | 2 * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. | 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 * | 4 * |
5 * This code is free software; you can redistribute it and/or modify it | 5 * This code is free software; you can redistribute it and/or modify it |
6 * under the terms of the GNU General Public License version 2 only, as | 6 * under the terms of the GNU General Public License version 2 only, as |
7 * published by the Free Software Foundation. | 7 * published by the Free Software Foundation. |
69 virtual void do_safepoint_work() = 0; | 69 virtual void do_safepoint_work() = 0; |
70 // reprofile request | 70 // reprofile request |
71 virtual void reprofile(ScopeDesc* trap_scope, bool is_osr) = 0; | 71 virtual void reprofile(ScopeDesc* trap_scope, bool is_osr) = 0; |
72 // delay_compilation(method) can be called by any component of the runtime to notify the policy | 72 // delay_compilation(method) can be called by any component of the runtime to notify the policy |
73 // that it's recommended to delay the complation of this method. | 73 // that it's recommended to delay the complation of this method. |
74 virtual void delay_compilation(methodOop method) = 0; | 74 virtual void delay_compilation(Method* method) = 0; |
75 // disable_compilation() is called whenever the runtime decides to disable compilation of the | 75 // disable_compilation() is called whenever the runtime decides to disable compilation of the |
76 // specified method. | 76 // specified method. |
77 virtual void disable_compilation(methodOop method) = 0; | 77 virtual void disable_compilation(Method* method) = 0; |
78 // Select task is called by CompileBroker. The queue is guaranteed to have at least one | 78 // Select task is called by CompileBroker. The queue is guaranteed to have at least one |
79 // element and is locked. The function should select one and return it. | 79 // element and is locked. The function should select one and return it. |
80 virtual CompileTask* select_task(CompileQueue* compile_queue) = 0; | 80 virtual CompileTask* select_task(CompileQueue* compile_queue) = 0; |
81 // Tell the runtime if we think a given method is adequately profiled. | 81 // Tell the runtime if we think a given method is adequately profiled. |
82 virtual bool is_mature(methodOop method) = 0; | 82 virtual bool is_mature(Method* method) = 0; |
83 // Do policy initialization | 83 // Do policy initialization |
84 virtual void initialize() = 0; | 84 virtual void initialize() = 0; |
85 virtual bool should_not_inline(ciEnv* env, ciMethod* method) { return false; } | 85 virtual bool should_not_inline(ciEnv* env, ciMethod* method) { return false; } |
86 }; | 86 }; |
87 | 87 |
98 NonTieredCompPolicy() : _compiler_count(0) { } | 98 NonTieredCompPolicy() : _compiler_count(0) { } |
99 virtual CompLevel initial_compile_level() { return CompLevel_initial_compile; } | 99 virtual CompLevel initial_compile_level() { return CompLevel_initial_compile; } |
100 virtual int compiler_count(CompLevel comp_level); | 100 virtual int compiler_count(CompLevel comp_level); |
101 virtual void do_safepoint_work(); | 101 virtual void do_safepoint_work(); |
102 virtual void reprofile(ScopeDesc* trap_scope, bool is_osr); | 102 virtual void reprofile(ScopeDesc* trap_scope, bool is_osr); |
103 virtual void delay_compilation(methodOop method); | 103 virtual void delay_compilation(Method* method); |
104 virtual void disable_compilation(methodOop method); | 104 virtual void disable_compilation(Method* method); |
105 virtual bool is_mature(methodOop method); | 105 virtual bool is_mature(Method* method); |
106 virtual void initialize(); | 106 virtual void initialize(); |
107 virtual CompileTask* select_task(CompileQueue* compile_queue); | 107 virtual CompileTask* select_task(CompileQueue* compile_queue); |
108 virtual nmethod* event(methodHandle method, methodHandle inlinee, int branch_bci, int bci, CompLevel comp_level, nmethod* nm, JavaThread* thread); | 108 virtual nmethod* event(methodHandle method, methodHandle inlinee, int branch_bci, int bci, CompLevel comp_level, nmethod* nm, JavaThread* thread); |
109 virtual void method_invocation_event(methodHandle m, JavaThread* thread) = 0; | 109 virtual void method_invocation_event(methodHandle m, JavaThread* thread) = 0; |
110 virtual void method_back_branch_event(methodHandle m, int bci, JavaThread* thread) = 0; | 110 virtual void method_back_branch_event(methodHandle m, int bci, JavaThread* thread) = 0; |