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,