1.1 --- a/src/share/vm/oops/method.cpp Thu Nov 01 13:05:47 2012 +0100 1.2 +++ b/src/share/vm/oops/method.cpp Thu Oct 11 12:25:42 2012 -0400 1.3 @@ -35,6 +35,7 @@ 1.4 #include "memory/generation.hpp" 1.5 #include "memory/metadataFactory.hpp" 1.6 #include "memory/oopFactory.hpp" 1.7 +#include "oops/constMethod.hpp" 1.8 #include "oops/methodData.hpp" 1.9 #include "oops/method.hpp" 1.10 #include "oops/oop.inline.hpp" 1.11 @@ -57,22 +58,24 @@ 1.12 // Implementation of Method 1.13 1.14 Method* Method::allocate(ClassLoaderData* loader_data, 1.15 - int byte_code_size, 1.16 - AccessFlags access_flags, 1.17 - int compressed_line_number_size, 1.18 - int localvariable_table_length, 1.19 - int exception_table_length, 1.20 - int checked_exceptions_length, 1.21 - TRAPS) { 1.22 + int byte_code_size, 1.23 + AccessFlags access_flags, 1.24 + int compressed_line_number_size, 1.25 + int localvariable_table_length, 1.26 + int exception_table_length, 1.27 + int checked_exceptions_length, 1.28 + ConstMethod::MethodType method_type, 1.29 + TRAPS) { 1.30 assert(!access_flags.is_native() || byte_code_size == 0, 1.31 "native methods should not contain byte codes"); 1.32 ConstMethod* cm = ConstMethod::allocate(loader_data, 1.33 - byte_code_size, 1.34 - compressed_line_number_size, 1.35 - localvariable_table_length, 1.36 - exception_table_length, 1.37 - checked_exceptions_length, 1.38 - CHECK_NULL); 1.39 + byte_code_size, 1.40 + compressed_line_number_size, 1.41 + localvariable_table_length, 1.42 + exception_table_length, 1.43 + checked_exceptions_length, 1.44 + method_type, 1.45 + CHECK_NULL); 1.46 1.47 int size = Method::size(access_flags.is_native()); 1.48 1.49 @@ -1031,7 +1034,7 @@ 1.50 methodHandle m; 1.51 { 1.52 Method* m_oop = Method::allocate(loader_data, 0, accessFlags_from(flags_bits), 1.53 - 0, 0, 0, 0, CHECK_(empty)); 1.54 + 0, 0, 0, 0, ConstMethod::NORMAL, CHECK_(empty)); 1.55 m = methodHandle(THREAD, m_oop); 1.56 } 1.57 m->set_constants(cp()); 1.58 @@ -1083,15 +1086,16 @@ 1.59 int localvariable_len = m->localvariable_table_length(); 1.60 int exception_table_len = m->exception_table_length(); 1.61 1.62 - ClassLoaderData* loader_data = m()->method_holder()->class_loader_data(); 1.63 + ClassLoaderData* loader_data = m->method_holder()->class_loader_data(); 1.64 Method* newm_oop = Method::allocate(loader_data, 1.65 - new_code_length, 1.66 - flags, 1.67 - new_compressed_linenumber_size, 1.68 - localvariable_len, 1.69 - exception_table_len, 1.70 - checked_exceptions_len, 1.71 - CHECK_(methodHandle())); 1.72 + new_code_length, 1.73 + flags, 1.74 + new_compressed_linenumber_size, 1.75 + localvariable_len, 1.76 + exception_table_len, 1.77 + checked_exceptions_len, 1.78 + m->method_type(), 1.79 + CHECK_(methodHandle())); 1.80 methodHandle newm (THREAD, newm_oop); 1.81 int new_method_size = newm->method_size(); 1.82