Mercurial > hg > truffle
comparison src/share/vm/prims/jvm.cpp @ 6217:e74da3c2b827
Merge
author | jiangli |
---|---|
date | Fri, 13 Jul 2012 20:14:27 -0400 |
parents | 3f1ab0c19c30 8150fa46d2ed |
children | 93c71eb28866 |
comparison
equal
deleted
inserted
replaced
6208:cc787232c4c5 | 6217:e74da3c2b827 |
---|---|
33 #include "memory/oopFactory.hpp" | 33 #include "memory/oopFactory.hpp" |
34 #include "memory/universe.inline.hpp" | 34 #include "memory/universe.inline.hpp" |
35 #include "oops/fieldStreams.hpp" | 35 #include "oops/fieldStreams.hpp" |
36 #include "oops/instanceKlass.hpp" | 36 #include "oops/instanceKlass.hpp" |
37 #include "oops/objArrayKlass.hpp" | 37 #include "oops/objArrayKlass.hpp" |
38 #include "oops/methodOop.hpp" | |
38 #include "prims/jvm.h" | 39 #include "prims/jvm.h" |
39 #include "prims/jvm_misc.hpp" | 40 #include "prims/jvm_misc.hpp" |
40 #include "prims/jvmtiExport.hpp" | 41 #include "prims/jvmtiExport.hpp" |
41 #include "prims/jvmtiThreadState.hpp" | 42 #include "prims/jvmtiThreadState.hpp" |
42 #include "prims/nativeLookup.hpp" | 43 #include "prims/nativeLookup.hpp" |
2181 JVM_QUICK_ENTRY(void, JVM_GetMethodIxExceptionTableEntry(JNIEnv *env, jclass cls, jint method_index, jint entry_index, JVM_ExceptionTableEntryType *entry)) | 2182 JVM_QUICK_ENTRY(void, JVM_GetMethodIxExceptionTableEntry(JNIEnv *env, jclass cls, jint method_index, jint entry_index, JVM_ExceptionTableEntryType *entry)) |
2182 JVMWrapper("JVM_GetMethodIxExceptionTableEntry"); | 2183 JVMWrapper("JVM_GetMethodIxExceptionTableEntry"); |
2183 klassOop k = java_lang_Class::as_klassOop(JNIHandles::resolve_non_null(cls)); | 2184 klassOop k = java_lang_Class::as_klassOop(JNIHandles::resolve_non_null(cls)); |
2184 k = JvmtiThreadState::class_to_verify_considering_redefinition(k, thread); | 2185 k = JvmtiThreadState::class_to_verify_considering_redefinition(k, thread); |
2185 oop method = instanceKlass::cast(k)->methods()->obj_at(method_index); | 2186 oop method = instanceKlass::cast(k)->methods()->obj_at(method_index); |
2186 typeArrayOop extable = methodOop(method)->exception_table(); | 2187 ExceptionTable extable((methodOop(method))); |
2187 entry->start_pc = extable->int_at(entry_index * 4); | 2188 entry->start_pc = extable.start_pc(entry_index); |
2188 entry->end_pc = extable->int_at(entry_index * 4 + 1); | 2189 entry->end_pc = extable.end_pc(entry_index); |
2189 entry->handler_pc = extable->int_at(entry_index * 4 + 2); | 2190 entry->handler_pc = extable.handler_pc(entry_index); |
2190 entry->catchType = extable->int_at(entry_index * 4 + 3); | 2191 entry->catchType = extable.catch_type_index(entry_index); |
2191 JVM_END | 2192 JVM_END |
2192 | 2193 |
2193 | 2194 |
2194 JVM_QUICK_ENTRY(jint, JVM_GetMethodIxExceptionTableLength(JNIEnv *env, jclass cls, int method_index)) | 2195 JVM_QUICK_ENTRY(jint, JVM_GetMethodIxExceptionTableLength(JNIEnv *env, jclass cls, int method_index)) |
2195 JVMWrapper("JVM_GetMethodIxExceptionTableLength"); | 2196 JVMWrapper("JVM_GetMethodIxExceptionTableLength"); |
2196 klassOop k = java_lang_Class::as_klassOop(JNIHandles::resolve_non_null(cls)); | 2197 klassOop k = java_lang_Class::as_klassOop(JNIHandles::resolve_non_null(cls)); |
2197 k = JvmtiThreadState::class_to_verify_considering_redefinition(k, thread); | 2198 k = JvmtiThreadState::class_to_verify_considering_redefinition(k, thread); |
2198 oop method = instanceKlass::cast(k)->methods()->obj_at(method_index); | 2199 oop method = instanceKlass::cast(k)->methods()->obj_at(method_index); |
2199 return methodOop(method)->exception_table()->length() / 4; | 2200 return methodOop(method)->exception_table_length(); |
2200 JVM_END | 2201 JVM_END |
2201 | 2202 |
2202 | 2203 |
2203 JVM_QUICK_ENTRY(jint, JVM_GetMethodIxModifiers(JNIEnv *env, jclass cls, int method_index)) | 2204 JVM_QUICK_ENTRY(jint, JVM_GetMethodIxModifiers(JNIEnv *env, jclass cls, int method_index)) |
2204 JVMWrapper("JVM_GetMethodIxModifiers"); | 2205 JVMWrapper("JVM_GetMethodIxModifiers"); |