934 // To minimze the overhead of doing that here, we ask the GC to pass down a |
934 // To minimze the overhead of doing that here, we ask the GC to pass down a |
935 // closure that knows how to keep klasses alive given a ClassLoaderData. |
935 // closure that knows how to keep klasses alive given a ClassLoaderData. |
936 cld_f->do_cld(m->method_holder()->class_loader_data()); |
936 cld_f->do_cld(m->method_holder()->class_loader_data()); |
937 } |
937 } |
938 |
938 |
939 #if !defined(PPC32) || defined(ZERO) |
939 if (m->is_native() PPC32_ONLY(&& m->is_static())) { |
940 if (m->is_native()) { |
940 f->do_oop(interpreter_frame_temp_oop_addr()); |
941 #ifdef CC_INTERP |
941 } |
942 interpreterState istate = get_interpreterState(); |
|
943 f->do_oop((oop*)&istate->_oop_temp); |
|
944 #else |
|
945 f->do_oop((oop*)( fp() + interpreter_frame_oop_temp_offset )); |
|
946 #endif /* CC_INTERP */ |
|
947 } |
|
948 #else // PPC32 |
|
949 if (m->is_native() && m->is_static()) { |
|
950 f->do_oop(interpreter_frame_mirror_addr()); |
|
951 } |
|
952 #endif // PPC32 |
|
953 |
942 |
954 int max_locals = m->is_native() ? m->size_of_parameters() : m->max_locals(); |
943 int max_locals = m->is_native() ? m->size_of_parameters() : m->max_locals(); |
955 |
944 |
956 Symbol* signature = NULL; |
945 Symbol* signature = NULL; |
957 bool has_receiver = false; |
946 bool has_receiver = false; |