Mercurial > hg > graal-jvmci-8
comparison src/share/vm/graal/graalVMEntries.cpp @ 3098:2fb14099d069
fix for unresolved exception bug, exactType and declaredType logic for inlining, more on escape analysis
author | Lukas Stadler <lukas.stadler@jku.at> |
---|---|
date | Wed, 29 Jun 2011 19:52:51 +0200 |
parents | 536528f48708 |
children | 76507b87dd25 |
comparison
equal
deleted
inserted
replaced
3092:f34c90b89f54 | 3098:2fb14099d069 |
---|---|
634 // public RiField[] RiType_fields(HotSpotTypeResolved klass); | 634 // public RiField[] RiType_fields(HotSpotTypeResolved klass); |
635 JNIEXPORT jobject JNICALL Java_com_oracle_graal_runtime_VMEntries_RiType_1fields(JNIEnv *, jobject, jobject klass) { | 635 JNIEXPORT jobject JNICALL Java_com_oracle_graal_runtime_VMEntries_RiType_1fields(JNIEnv *, jobject, jobject klass) { |
636 TRACE_graal_3("VMEntries::RiType_fields"); | 636 TRACE_graal_3("VMEntries::RiType_fields"); |
637 KlassHandle klass_handle; | 637 KlassHandle klass_handle; |
638 ciInstanceKlass* instance_klass; | 638 ciInstanceKlass* instance_klass; |
639 objArrayHandle fieldsArray; | |
640 HandleMark hm; | |
639 { | 641 { |
640 VM_ENTRY_MARK; | 642 VM_ENTRY_MARK; |
641 klass_handle = java_lang_Class::as_klassOop(HotSpotTypeResolved::javaMirror(klass)); | 643 klass_handle = java_lang_Class::as_klassOop(HotSpotTypeResolved::javaMirror(klass)); |
642 instance_klass = (ciInstanceKlass*) CURRENT_ENV->get_object(klass_handle()); | 644 instance_klass = (ciInstanceKlass *) CURRENT_ENV->get_object(klass_handle()); |
643 } | 645 } |
644 GrowableArray<ciField*>* fields = instance_klass->non_static_fields(); | 646 GrowableArray<ciField*>* fields = instance_klass->non_static_fields(); |
645 | |
646 objArrayHandle fieldsArray; | |
647 { | 647 { |
648 VM_ENTRY_MARK; | 648 VM_ENTRY_MARK; |
649 fieldsArray = oopFactory::new_objArray(SystemDictionary::RiField_klass(), fields->length(), CHECK_NULL); | 649 fieldsArray = oopFactory::new_objArray(SystemDictionary::RiField_klass(), fields->length(), CHECK_NULL); |
650 for (int i = 0; i < fields->length(); i++) { | 650 for (int i = 0; i < fields->length(); i++) { |
651 ciField* field = fields->at(i); | 651 ciField* field = fields->at(i); |