Mercurial > hg > graal-jvmci-8
comparison src/share/vm/oops/method.cpp @ 7184:5505fbbae3d3
Merge
author | cjplummer |
---|---|
date | Thu, 29 Nov 2012 13:55:49 -0800 |
parents | 59c790074993 b2dbd323c668 |
children | 291ffc492eb6 35431a769282 0c8717a92b2d |
comparison
equal
deleted
inserted
replaced
7182:c24f778e9401 | 7184:5505fbbae3d3 |
---|---|
62 AccessFlags access_flags, | 62 AccessFlags access_flags, |
63 int compressed_line_number_size, | 63 int compressed_line_number_size, |
64 int localvariable_table_length, | 64 int localvariable_table_length, |
65 int exception_table_length, | 65 int exception_table_length, |
66 int checked_exceptions_length, | 66 int checked_exceptions_length, |
67 u2 generic_signature_index, | |
67 ConstMethod::MethodType method_type, | 68 ConstMethod::MethodType method_type, |
68 TRAPS) { | 69 TRAPS) { |
69 assert(!access_flags.is_native() || byte_code_size == 0, | 70 assert(!access_flags.is_native() || byte_code_size == 0, |
70 "native methods should not contain byte codes"); | 71 "native methods should not contain byte codes"); |
71 ConstMethod* cm = ConstMethod::allocate(loader_data, | 72 ConstMethod* cm = ConstMethod::allocate(loader_data, |
72 byte_code_size, | 73 byte_code_size, |
73 compressed_line_number_size, | 74 compressed_line_number_size, |
74 localvariable_table_length, | 75 localvariable_table_length, |
75 exception_table_length, | 76 exception_table_length, |
76 checked_exceptions_length, | 77 checked_exceptions_length, |
78 generic_signature_index, | |
77 method_type, | 79 method_type, |
78 CHECK_NULL); | 80 CHECK_NULL); |
79 | 81 |
80 int size = Method::size(access_flags.is_native()); | 82 int size = Method::size(access_flags.is_native()); |
81 | 83 |
1032 assert((flags_bits & JVM_ACC_PUBLIC) == 0, "do not expose these methods"); | 1034 assert((flags_bits & JVM_ACC_PUBLIC) == 0, "do not expose these methods"); |
1033 | 1035 |
1034 methodHandle m; | 1036 methodHandle m; |
1035 { | 1037 { |
1036 Method* m_oop = Method::allocate(loader_data, 0, accessFlags_from(flags_bits), | 1038 Method* m_oop = Method::allocate(loader_data, 0, accessFlags_from(flags_bits), |
1037 0, 0, 0, 0, ConstMethod::NORMAL, CHECK_(empty)); | 1039 0, 0, 0, 0, 0, ConstMethod::NORMAL, CHECK_(empty)); |
1038 m = methodHandle(THREAD, m_oop); | 1040 m = methodHandle(THREAD, m_oop); |
1039 } | 1041 } |
1040 m->set_constants(cp()); | 1042 m->set_constants(cp()); |
1041 m->set_name_index(_imcp_invoke_name); | 1043 m->set_name_index(_imcp_invoke_name); |
1042 m->set_signature_index(_imcp_invoke_signature); | 1044 m->set_signature_index(_imcp_invoke_signature); |
1080 u_char* new_compressed_linenumber_table, int new_compressed_linenumber_size, TRAPS) { | 1082 u_char* new_compressed_linenumber_table, int new_compressed_linenumber_size, TRAPS) { |
1081 // Code below does not work for native methods - they should never get rewritten anyway | 1083 // Code below does not work for native methods - they should never get rewritten anyway |
1082 assert(!m->is_native(), "cannot rewrite native methods"); | 1084 assert(!m->is_native(), "cannot rewrite native methods"); |
1083 // Allocate new Method* | 1085 // Allocate new Method* |
1084 AccessFlags flags = m->access_flags(); | 1086 AccessFlags flags = m->access_flags(); |
1087 u2 generic_signature_index = m->generic_signature_index(); | |
1085 int checked_exceptions_len = m->checked_exceptions_length(); | 1088 int checked_exceptions_len = m->checked_exceptions_length(); |
1086 int localvariable_len = m->localvariable_table_length(); | 1089 int localvariable_len = m->localvariable_table_length(); |
1087 int exception_table_len = m->exception_table_length(); | 1090 int exception_table_len = m->exception_table_length(); |
1088 | 1091 |
1089 ClassLoaderData* loader_data = m->method_holder()->class_loader_data(); | 1092 ClassLoaderData* loader_data = m->method_holder()->class_loader_data(); |
1092 flags, | 1095 flags, |
1093 new_compressed_linenumber_size, | 1096 new_compressed_linenumber_size, |
1094 localvariable_len, | 1097 localvariable_len, |
1095 exception_table_len, | 1098 exception_table_len, |
1096 checked_exceptions_len, | 1099 checked_exceptions_len, |
1100 generic_signature_index, | |
1097 m->method_type(), | 1101 m->method_type(), |
1098 CHECK_(methodHandle())); | 1102 CHECK_(methodHandle())); |
1099 methodHandle newm (THREAD, newm_oop); | 1103 methodHandle newm (THREAD, newm_oop); |
1100 int new_method_size = newm->method_size(); | 1104 int new_method_size = newm->method_size(); |
1101 | 1105 |