comparison src/share/vm/runtime/vm_operations.hpp @ 1202:5f24d0319e54

4360113: Evict nmethods when code cache gets full Summary: Speculatively unload the oldest nmethods when code cache gets full. Reviewed-by: never, kvn Contributed-by: eric.caspole@amd.com
author kvn
date Fri, 29 Jan 2010 09:27:22 -0800
parents bd02caa94611
children c18cbe5936b8
comparison
equal deleted inserted replaced
1201:24128c2ffa87 1202:5f24d0319e54
39 template(ForceAsyncSafepoint) \ 39 template(ForceAsyncSafepoint) \
40 template(Deoptimize) \ 40 template(Deoptimize) \
41 template(DeoptimizeFrame) \ 41 template(DeoptimizeFrame) \
42 template(DeoptimizeAll) \ 42 template(DeoptimizeAll) \
43 template(ZombieAll) \ 43 template(ZombieAll) \
44 template(HandleFullCodeCache) \
44 template(Verify) \ 45 template(Verify) \
45 template(PrintJNI) \ 46 template(PrintJNI) \
46 template(HeapDumper) \ 47 template(HeapDumper) \
47 template(DeoptimizeTheWorld) \ 48 template(DeoptimizeTheWorld) \
48 template(GC_HeapInspection) \ 49 template(GC_HeapInspection) \
239 VMOp_Type type() const { return VMOp_DeoptimizeFrame; } 240 VMOp_Type type() const { return VMOp_DeoptimizeFrame; }
240 void doit(); 241 void doit();
241 bool allow_nested_vm_operations() const { return true; } 242 bool allow_nested_vm_operations() const { return true; }
242 }; 243 };
243 244
245 class VM_HandleFullCodeCache: public VM_Operation {
246 private:
247 bool _is_full;
248 public:
249 VM_HandleFullCodeCache(bool is_full) { _is_full = is_full; }
250 VMOp_Type type() const { return VMOp_HandleFullCodeCache; }
251 void doit();
252 bool allow_nested_vm_operations() const { return true; }
253 };
254
244 #ifndef PRODUCT 255 #ifndef PRODUCT
245 class VM_DeoptimizeAll: public VM_Operation { 256 class VM_DeoptimizeAll: public VM_Operation {
246 private: 257 private:
247 KlassHandle _dependee; 258 KlassHandle _dependee;
248 public: 259 public: