Mercurial > hg > graal-compiler
comparison src/share/vm/graal/graalCompilerToVM.cpp @ 14012:1f34717ccafa
remove CompilerToVM.getInstanceFields
author | twisti |
---|---|
date | Mon, 24 Feb 2014 15:08:02 -0800 |
parents | fe034af88233 |
children | 361acb279104 |
comparison
equal
deleted
inserted
replaced
14011:134491e79cde | 14012:1f34717ccafa |
---|---|
350 holder = VMToCompiler::createResolvedJavaType(holder_klass->java_mirror(), CHECK_NULL); | 350 holder = VMToCompiler::createResolvedJavaType(holder_klass->java_mirror(), CHECK_NULL); |
351 } | 351 } |
352 } | 352 } |
353 | 353 |
354 Handle type = GraalCompiler::get_JavaTypeFromSignature(signature, cp->pool_holder(), CHECK_NULL); | 354 Handle type = GraalCompiler::get_JavaTypeFromSignature(signature, cp->pool_holder(), CHECK_NULL); |
355 Handle field_handle = GraalCompiler::get_JavaField(offset, flags.as_int(), name, holder, type, THREAD); | 355 Handle java_name = java_lang_String::create_from_symbol(name, CHECK_NULL); |
356 Handle field_handle = VMToCompiler::createJavaField(holder, java_name, type, offset, flags.as_int(), false, CHECK_NULL); | |
356 | 357 |
357 return JNIHandles::make_local(THREAD, field_handle()); | 358 return JNIHandles::make_local(THREAD, field_handle()); |
358 C2V_END | 359 C2V_END |
359 | 360 |
360 C2V_VMENTRY(jlong, resolveMethod, (JNIEnv *, jobject, jobject resolved_type, jstring name, jstring signature)) | 361 C2V_VMENTRY(jlong, resolveMethod, (JNIEnv *, jobject, jobject resolved_type, jstring name, jstring signature)) |
375 | 376 |
376 C2V_VMENTRY(jboolean, hasFinalizableSubclass,(JNIEnv *, jobject, jobject hotspot_klass)) | 377 C2V_VMENTRY(jboolean, hasFinalizableSubclass,(JNIEnv *, jobject, jobject hotspot_klass)) |
377 Klass* klass = java_lang_Class::as_Klass(HotSpotResolvedObjectType::javaClass(hotspot_klass)); | 378 Klass* klass = java_lang_Class::as_Klass(HotSpotResolvedObjectType::javaClass(hotspot_klass)); |
378 assert(klass != NULL, "method must not be called for primitive types"); | 379 assert(klass != NULL, "method must not be called for primitive types"); |
379 return Dependencies::find_finalizable_subclass(klass) != NULL; | 380 return Dependencies::find_finalizable_subclass(klass) != NULL; |
380 C2V_END | |
381 | |
382 C2V_VMENTRY(jobject, getInstanceFields, (JNIEnv *, jobject, jobject klass)) | |
383 ResourceMark rm; | |
384 | |
385 instanceKlassHandle k = java_lang_Class::as_Klass(HotSpotResolvedObjectType::javaClass(klass)); | |
386 GrowableArray<Handle> fields(k->java_fields_count()); | |
387 | |
388 for (AllFieldStream fs(k()); !fs.done(); fs.next()) { | |
389 if (!fs.access_flags().is_static()) { | |
390 Handle type = GraalCompiler::get_JavaTypeFromSignature(fs.signature(), k, THREAD); | |
391 int flags = fs.access_flags().as_int(); | |
392 bool internal = fs.access_flags().is_internal(); | |
393 Handle name = java_lang_String::create_from_symbol(fs.name(), THREAD); | |
394 Handle field = VMToCompiler::createJavaField(JNIHandles::resolve(klass), name, type, fs.offset(), flags, internal, THREAD); | |
395 fields.append(field()); | |
396 } | |
397 } | |
398 objArrayHandle field_array = oopFactory::new_objArray(SystemDictionary::HotSpotResolvedJavaField_klass(), fields.length(), CHECK_NULL); | |
399 for (int i = 0; i < fields.length(); ++i) { | |
400 field_array->obj_at_put(i, fields.at(i)()); | |
401 } | |
402 return JNIHandles::make_local(THREAD, field_array()); | |
403 C2V_END | 381 C2V_END |
404 | 382 |
405 C2V_VMENTRY(jlong, getClassInitializer, (JNIEnv *, jobject, jobject klass)) | 383 C2V_VMENTRY(jlong, getClassInitializer, (JNIEnv *, jobject, jobject klass)) |
406 instanceKlassHandle k(THREAD, java_lang_Class::as_Klass(HotSpotResolvedObjectType::javaClass(klass))); | 384 instanceKlassHandle k(THREAD, java_lang_Class::as_Klass(HotSpotResolvedObjectType::javaClass(klass))); |
407 Method* clinit = k->class_initializer(); | 385 Method* clinit = k->class_initializer(); |
867 #define OBJECT "Ljava/lang/Object;" | 845 #define OBJECT "Ljava/lang/Object;" |
868 #define CLASS "Ljava/lang/Class;" | 846 #define CLASS "Ljava/lang/Class;" |
869 #define STACK_TRACE_ELEMENT "Ljava/lang/StackTraceElement;" | 847 #define STACK_TRACE_ELEMENT "Ljava/lang/StackTraceElement;" |
870 #define HS_RESOLVED_TYPE "Lcom/oracle/graal/hotspot/meta/HotSpotResolvedObjectType;" | 848 #define HS_RESOLVED_TYPE "Lcom/oracle/graal/hotspot/meta/HotSpotResolvedObjectType;" |
871 #define HS_RESOLVED_METHOD "Lcom/oracle/graal/hotspot/meta/HotSpotResolvedJavaMethod;" | 849 #define HS_RESOLVED_METHOD "Lcom/oracle/graal/hotspot/meta/HotSpotResolvedJavaMethod;" |
872 #define HS_RESOLVED_FIELD "Lcom/oracle/graal/hotspot/meta/HotSpotResolvedJavaField;" | |
873 #define HS_COMPILED_CODE "Lcom/oracle/graal/hotspot/HotSpotCompiledCode;" | 850 #define HS_COMPILED_CODE "Lcom/oracle/graal/hotspot/HotSpotCompiledCode;" |
874 #define HS_CONFIG "Lcom/oracle/graal/hotspot/HotSpotVMConfig;" | 851 #define HS_CONFIG "Lcom/oracle/graal/hotspot/HotSpotVMConfig;" |
875 #define HS_INSTALLED_CODE "Lcom/oracle/graal/hotspot/meta/HotSpotInstalledCode;" | 852 #define HS_INSTALLED_CODE "Lcom/oracle/graal/hotspot/meta/HotSpotInstalledCode;" |
876 #define METASPACE_KLASS "J" | 853 #define METASPACE_KLASS "J" |
877 #define METASPACE_METHOD "J" | 854 #define METASPACE_METHOD "J" |
896 {CC"lookupMethodInPool", CC"("METASPACE_CONSTANT_POOL"IB)"METHOD, FN_PTR(lookupMethodInPool)}, | 873 {CC"lookupMethodInPool", CC"("METASPACE_CONSTANT_POOL"IB)"METHOD, FN_PTR(lookupMethodInPool)}, |
897 {CC"lookupTypeInPool", CC"("METASPACE_CONSTANT_POOL"I)"TYPE, FN_PTR(lookupTypeInPool)}, | 874 {CC"lookupTypeInPool", CC"("METASPACE_CONSTANT_POOL"I)"TYPE, FN_PTR(lookupTypeInPool)}, |
898 {CC"lookupReferencedTypeInPool", CC"("METASPACE_CONSTANT_POOL"IB)V", FN_PTR(lookupReferencedTypeInPool)}, | 875 {CC"lookupReferencedTypeInPool", CC"("METASPACE_CONSTANT_POOL"IB)V", FN_PTR(lookupReferencedTypeInPool)}, |
899 {CC"lookupFieldInPool", CC"("METASPACE_CONSTANT_POOL"IB)"FIELD, FN_PTR(lookupFieldInPool)}, | 876 {CC"lookupFieldInPool", CC"("METASPACE_CONSTANT_POOL"IB)"FIELD, FN_PTR(lookupFieldInPool)}, |
900 {CC"resolveMethod", CC"("HS_RESOLVED_TYPE STRING STRING")"METASPACE_METHOD, FN_PTR(resolveMethod)}, | 877 {CC"resolveMethod", CC"("HS_RESOLVED_TYPE STRING STRING")"METASPACE_METHOD, FN_PTR(resolveMethod)}, |
901 {CC"getInstanceFields", CC"("HS_RESOLVED_TYPE")["HS_RESOLVED_FIELD, FN_PTR(getInstanceFields)}, | |
902 {CC"getClassInitializer", CC"("HS_RESOLVED_TYPE")"METASPACE_METHOD, FN_PTR(getClassInitializer)}, | 878 {CC"getClassInitializer", CC"("HS_RESOLVED_TYPE")"METASPACE_METHOD, FN_PTR(getClassInitializer)}, |
903 {CC"hasFinalizableSubclass", CC"("HS_RESOLVED_TYPE")Z", FN_PTR(hasFinalizableSubclass)}, | 879 {CC"hasFinalizableSubclass", CC"("HS_RESOLVED_TYPE")Z", FN_PTR(hasFinalizableSubclass)}, |
904 {CC"getMaxCallTargetOffset", CC"(J)J", FN_PTR(getMaxCallTargetOffset)}, | 880 {CC"getMaxCallTargetOffset", CC"(J)J", FN_PTR(getMaxCallTargetOffset)}, |
905 {CC"getMetaspaceMethod", CC"("CLASS"I)"METASPACE_METHOD, FN_PTR(getMetaspaceMethod)}, | 881 {CC"getMetaspaceMethod", CC"("CLASS"I)"METASPACE_METHOD, FN_PTR(getMetaspaceMethod)}, |
906 {CC"initializeConfiguration", CC"("HS_CONFIG")V", FN_PTR(initializeConfiguration)}, | 882 {CC"initializeConfiguration", CC"("HS_CONFIG")V", FN_PTR(initializeConfiguration)}, |