Mercurial > hg > graal-jvmci-8
comparison src/share/vm/runtime/vmStructs.cpp @ 10105:aeaca88565e6
8010862: The Method counter fields used for profiling can be allocated lazily.
Summary: Allocate the method's profiling related metadata until they are needed.
Reviewed-by: coleenp, roland
author | jiangli |
---|---|
date | Tue, 09 Apr 2013 17:17:41 -0400 |
parents | 3efdfd6ddbf2 |
children | 8df6ddda8090 |
comparison
equal
deleted
inserted
replaced
9055:dcdeb150988c | 10105:aeaca88565e6 |
---|---|
75 #include "oops/instanceMirrorKlass.hpp" | 75 #include "oops/instanceMirrorKlass.hpp" |
76 #include "oops/instanceOop.hpp" | 76 #include "oops/instanceOop.hpp" |
77 #include "oops/klass.hpp" | 77 #include "oops/klass.hpp" |
78 #include "oops/markOop.hpp" | 78 #include "oops/markOop.hpp" |
79 #include "oops/methodData.hpp" | 79 #include "oops/methodData.hpp" |
80 #include "oops/methodCounters.hpp" | |
80 #include "oops/method.hpp" | 81 #include "oops/method.hpp" |
81 #include "oops/objArrayKlass.hpp" | 82 #include "oops/objArrayKlass.hpp" |
82 #include "oops/objArrayOop.hpp" | 83 #include "oops/objArrayOop.hpp" |
83 #include "oops/oop.inline.hpp" | 84 #include "oops/oop.inline.hpp" |
84 #include "oops/symbol.hpp" | 85 #include "oops/symbol.hpp" |
346 nonstatic_field(MethodData, _nof_overflow_traps, uint) \ | 347 nonstatic_field(MethodData, _nof_overflow_traps, uint) \ |
347 nonstatic_field(MethodData, _eflags, intx) \ | 348 nonstatic_field(MethodData, _eflags, intx) \ |
348 nonstatic_field(MethodData, _arg_local, intx) \ | 349 nonstatic_field(MethodData, _arg_local, intx) \ |
349 nonstatic_field(MethodData, _arg_stack, intx) \ | 350 nonstatic_field(MethodData, _arg_stack, intx) \ |
350 nonstatic_field(MethodData, _arg_returned, intx) \ | 351 nonstatic_field(MethodData, _arg_returned, intx) \ |
351 nonstatic_field(Method, _constMethod, ConstMethod*) \ | 352 nonstatic_field(MethodCounters, _interpreter_invocation_count, int) \ |
352 nonstatic_field(Method, _method_data, MethodData*) \ | 353 nonstatic_field(MethodCounters, _interpreter_throwout_count, u2) \ |
353 nonstatic_field(Method, _interpreter_invocation_count, int) \ | 354 nonstatic_field(MethodCounters, _number_of_breakpoints, u2) \ |
355 nonstatic_field(MethodCounters, _invocation_counter, InvocationCounter) \ | |
356 nonstatic_field(MethodCounters, _backedge_counter, InvocationCounter) \ | |
357 nonstatic_field(Method, _constMethod, ConstMethod*) \ | |
358 nonstatic_field(Method, _method_data, MethodData*) \ | |
359 nonstatic_field(Method, _method_counters, MethodCounters*) \ | |
354 nonstatic_field(Method, _access_flags, AccessFlags) \ | 360 nonstatic_field(Method, _access_flags, AccessFlags) \ |
355 nonstatic_field(Method, _vtable_index, int) \ | 361 nonstatic_field(Method, _vtable_index, int) \ |
356 nonstatic_field(Method, _method_size, u2) \ | 362 nonstatic_field(Method, _method_size, u2) \ |
357 nonstatic_field(Method, _interpreter_throwout_count, u2) \ | |
358 nonstatic_field(Method, _number_of_breakpoints, u2) \ | |
359 nonstatic_field(Method, _invocation_counter, InvocationCounter) \ | |
360 nonstatic_field(Method, _backedge_counter, InvocationCounter) \ | |
361 nonproduct_nonstatic_field(Method, _compiled_invocation_count, int) \ | 363 nonproduct_nonstatic_field(Method, _compiled_invocation_count, int) \ |
362 volatile_nonstatic_field(Method, _code, nmethod*) \ | 364 volatile_nonstatic_field(Method, _code, nmethod*) \ |
363 nonstatic_field(Method, _i2i_entry, address) \ | 365 nonstatic_field(Method, _i2i_entry, address) \ |
364 nonstatic_field(Method, _adapter, AdapterHandlerEntry*) \ | 366 nonstatic_field(Method, _adapter, AdapterHandlerEntry*) \ |
365 volatile_nonstatic_field(Method, _from_compiled_entry, address) \ | 367 volatile_nonstatic_field(Method, _from_compiled_entry, address) \ |
1379 declare_type(InstanceRefKlass, InstanceKlass) \ | 1381 declare_type(InstanceRefKlass, InstanceKlass) \ |
1380 declare_type(ConstantPool, Metadata) \ | 1382 declare_type(ConstantPool, Metadata) \ |
1381 declare_type(ConstantPoolCache, MetaspaceObj) \ | 1383 declare_type(ConstantPoolCache, MetaspaceObj) \ |
1382 declare_type(MethodData, Metadata) \ | 1384 declare_type(MethodData, Metadata) \ |
1383 declare_type(Method, Metadata) \ | 1385 declare_type(Method, Metadata) \ |
1386 declare_type(MethodCounters, MetaspaceObj) \ | |
1384 declare_type(ConstMethod, MetaspaceObj) \ | 1387 declare_type(ConstMethod, MetaspaceObj) \ |
1385 \ | 1388 \ |
1386 declare_toplevel_type(Symbol) \ | 1389 declare_toplevel_type(Symbol) \ |
1387 declare_toplevel_type(Symbol*) \ | 1390 declare_toplevel_type(Symbol*) \ |
1388 declare_toplevel_type(volatile Metadata*) \ | 1391 declare_toplevel_type(volatile Metadata*) \ |