Mercurial > hg > truffle
comparison src/share/vm/graal/graalEnv.hpp @ 7089:af30115c9d0e
added metering of code installation failure rate to detect excessive failure caused by overly optimistic assumptions
author | Doug Simon <doug.simon@oracle.com> |
---|---|
date | Wed, 28 Nov 2012 20:39:43 +0100 |
parents | bf2ea3ed3bce |
children | eec7173947a1 |
comparison
equal
deleted
inserted
replaced
7088:97d0eae99568 | 7089:af30115c9d0e |
---|---|
43 | 43 |
44 friend class CompileBroker; | 44 friend class CompileBroker; |
45 friend class Dependencies; // for get_object, during logging | 45 friend class Dependencies; // for get_object, during logging |
46 | 46 |
47 public: | 47 public: |
48 | |
49 // Must be kept in sync with the enum in the HotSpot implementation of CompilerToVM | |
50 enum CodeInstallResult { | |
51 ok, | |
52 dependencies_failed, | |
53 cache_full | |
54 }; | |
48 | 55 |
49 // Look up a klass by name from a particular class loader (the accessor's). | 56 // Look up a klass by name from a particular class loader (the accessor's). |
50 // If require_local, result must be defined in that class loader, or NULL. | 57 // If require_local, result must be defined in that class loader, or NULL. |
51 // If !require_local, a result from remote class loader may be reported, | 58 // If !require_local, a result from remote class loader may be reported, |
52 // if sufficient class loader constraints exist such that initiating | 59 // if sufficient class loader constraints exist such that initiating |
107 // with respect to concurrent class loading. | 114 // with respect to concurrent class loading. |
108 static bool check_for_system_dictionary_modification(Dependencies* target); | 115 static bool check_for_system_dictionary_modification(Dependencies* target); |
109 | 116 |
110 public: | 117 public: |
111 // Register the result of a compilation. | 118 // Register the result of a compilation. |
112 static nmethod* register_method(methodHandle& target, | 119 static GraalEnv::CodeInstallResult register_method( |
120 methodHandle& target, | |
121 nmethod*& nm, | |
113 int entry_bci, | 122 int entry_bci, |
114 CodeOffsets* offsets, | 123 CodeOffsets* offsets, |
115 int orig_pc_offset, | 124 int orig_pc_offset, |
116 CodeBuffer* code_buffer, | 125 CodeBuffer* code_buffer, |
117 int frame_words, | 126 int frame_words, |