215 } |
215 } |
216 |
216 |
217 Handle MemoryService::create_MemoryUsage_obj(MemoryUsage usage, TRAPS) { |
217 Handle MemoryService::create_MemoryUsage_obj(MemoryUsage usage, TRAPS) { |
218 InstanceKlass* ik = Management::java_lang_management_MemoryUsage_klass(CHECK_NH); |
218 InstanceKlass* ik = Management::java_lang_management_MemoryUsage_klass(CHECK_NH); |
219 |
219 |
220 instanceHandle obj = ik->allocate_instance_handle(CHECK_NH); |
|
221 |
|
222 JavaValue result(T_VOID); |
|
223 JavaCallArguments args(10); |
220 JavaCallArguments args(10); |
224 args.push_oop(obj); // receiver |
221 args.push_long(usage.init_size_as_jlong()); |
225 args.push_long(usage.init_size_as_jlong()); // Argument 1 |
222 args.push_long(usage.used_as_jlong()); |
226 args.push_long(usage.used_as_jlong()); // Argument 2 |
223 args.push_long(usage.committed_as_jlong()); |
227 args.push_long(usage.committed_as_jlong()); // Argument 3 |
224 args.push_long(usage.max_size_as_jlong()); |
228 args.push_long(usage.max_size_as_jlong()); // Argument 4 |
225 |
229 |
226 return JavaCalls::construct_new_instance( |
230 JavaCalls::call_special(&result, |
|
231 ik, |
227 ik, |
232 vmSymbols::object_initializer_name(), |
|
233 vmSymbols::long_long_long_long_void_signature(), |
228 vmSymbols::long_long_long_long_void_signature(), |
234 &args, |
229 &args, |
235 CHECK_NH); |
230 CHECK_NH); |
236 return obj; |
|
237 } |
231 } |
238 |
232 |
239 TraceMemoryManagerStats::TraceMemoryManagerStats(GCMemoryManager* gc_memory_manager, |
233 TraceMemoryManagerStats::TraceMemoryManagerStats(GCMemoryManager* gc_memory_manager, |
240 GCCause::Cause cause, |
234 GCCause::Cause cause, |
241 bool recordGCBeginTime, |
235 bool recordGCBeginTime, |