src/share/vm/oops/method.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File hotspot Cdiff src/share/vm/oops/method.hpp

src/share/vm/oops/method.hpp

Print this page
rev 5732 : [mq]: comments2

*** 36,52 **** #include "oops/oop.hpp" #include "oops/typeArrayOop.hpp" #include "utilities/accessFlags.hpp" #include "utilities/growableArray.hpp" ! // A Method* represents a Java method. // // Memory layout (each line represents a word). Note that most applications load thousands of methods, // so keeping the size of this structure small has a big impact on footprint. // - // We put all oops and method_size first for better gc cache locality. - // // The actual bytecodes are inlined after the end of the Method struct. // // There are bits in the access_flags telling whether inlined tables are present. // Note that accessing the line number and local variable tables is not performance critical at all. // Accessing the checked exceptions table is used by reflection, so we put that last to make access --- 36,50 ---- #include "oops/oop.hpp" #include "oops/typeArrayOop.hpp" #include "utilities/accessFlags.hpp" #include "utilities/growableArray.hpp" ! // A Method represents a Java method. // // Memory layout (each line represents a word). Note that most applications load thousands of methods, // so keeping the size of this structure small has a big impact on footprint. // // The actual bytecodes are inlined after the end of the Method struct. // // There are bits in the access_flags telling whether inlined tables are present. // Note that accessing the line number and local variable tables is not performance critical at all. // Accessing the checked exceptions table is used by reflection, so we put that last to make access
*** 62,82 **** // // |------------------------------------------------------| // | header | // | klass | // |------------------------------------------------------| ! // | ConstMethod* (oop) | // |------------------------------------------------------| ! // | methodData (oop) | ! // | methodCounters | // |------------------------------------------------------| // | access_flags | // | vtable_index | // |------------------------------------------------------| // | result_index (C++ interpreter only) | // |------------------------------------------------------| ! // | method_size | intrinsic_id| flags | // |------------------------------------------------------| // | code (pointer) | // | i2i (pointer) | // | adapter (pointer) | // | from_compiled_entry (pointer) | --- 60,80 ---- // // |------------------------------------------------------| // | header | // | klass | // |------------------------------------------------------| ! // | ConstMethod* (metadata) | // |------------------------------------------------------| ! // | MethodData* (metadata) | ! // | MethodCounters | // |------------------------------------------------------| // | access_flags | // | vtable_index | // |------------------------------------------------------| // | result_index (C++ interpreter only) | // |------------------------------------------------------| ! // | method_size | intrinsic_id | flags | // |------------------------------------------------------| // | code (pointer) | // | i2i (pointer) | // | adapter (pointer) | // | from_compiled_entry (pointer) |
src/share/vm/oops/method.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File