Mercurial > hg > graal-compiler
comparison src/share/vm/classfile/javaClasses.cpp @ 12039:3cce976666d9
Merge hs25-b46
author | Gilles Duboscq <duboscq@ssw.jku.at> |
---|---|
date | Thu, 10 Oct 2013 14:20:04 +0200 |
parents | 6b0fd0964b87 ca0165daa6ec |
children | cefad50507d8 |
comparison
equal
deleted
inserted
replaced
11958:a0f5be106e67 | 12039:3cce976666d9 |
---|---|
2561 InstanceKlass* ik = InstanceKlass::cast(SystemDictionary::SoftReference_klass()); | 2561 InstanceKlass* ik = InstanceKlass::cast(SystemDictionary::SoftReference_klass()); |
2562 jlong* offset = (jlong*)ik->static_field_addr(static_clock_offset); | 2562 jlong* offset = (jlong*)ik->static_field_addr(static_clock_offset); |
2563 *offset = value; | 2563 *offset = value; |
2564 } | 2564 } |
2565 | 2565 |
2566 // Support for java_lang_invoke_DirectMethodHandle | |
2567 | |
2568 int java_lang_invoke_DirectMethodHandle::_member_offset; | |
2569 | |
2570 oop java_lang_invoke_DirectMethodHandle::member(oop dmh) { | |
2571 oop member_name = NULL; | |
2572 bool is_dmh = dmh->is_oop() && java_lang_invoke_DirectMethodHandle::is_instance(dmh); | |
2573 assert(is_dmh, "a DirectMethodHandle oop is expected"); | |
2574 if (is_dmh) { | |
2575 member_name = dmh->obj_field(member_offset_in_bytes()); | |
2576 } | |
2577 return member_name; | |
2578 } | |
2579 | |
2580 void java_lang_invoke_DirectMethodHandle::compute_offsets() { | |
2581 Klass* klass_oop = SystemDictionary::DirectMethodHandle_klass(); | |
2582 if (klass_oop != NULL && EnableInvokeDynamic) { | |
2583 compute_offset(_member_offset, klass_oop, vmSymbols::member_name(), vmSymbols::java_lang_invoke_MemberName_signature()); | |
2584 } | |
2585 } | |
2566 | 2586 |
2567 // Support for java_lang_invoke_MethodHandle | 2587 // Support for java_lang_invoke_MethodHandle |
2568 | 2588 |
2569 int java_lang_invoke_MethodHandle::_type_offset; | 2589 int java_lang_invoke_MethodHandle::_type_offset; |
2570 int java_lang_invoke_MethodHandle::_form_offset; | 2590 int java_lang_invoke_MethodHandle::_form_offset; |
3212 java_lang_ClassLoader::compute_offsets(); | 3232 java_lang_ClassLoader::compute_offsets(); |
3213 java_lang_Thread::compute_offsets(); | 3233 java_lang_Thread::compute_offsets(); |
3214 java_lang_ThreadGroup::compute_offsets(); | 3234 java_lang_ThreadGroup::compute_offsets(); |
3215 if (EnableInvokeDynamic) { | 3235 if (EnableInvokeDynamic) { |
3216 java_lang_invoke_MethodHandle::compute_offsets(); | 3236 java_lang_invoke_MethodHandle::compute_offsets(); |
3237 java_lang_invoke_DirectMethodHandle::compute_offsets(); | |
3217 java_lang_invoke_MemberName::compute_offsets(); | 3238 java_lang_invoke_MemberName::compute_offsets(); |
3218 java_lang_invoke_LambdaForm::compute_offsets(); | 3239 java_lang_invoke_LambdaForm::compute_offsets(); |
3219 java_lang_invoke_MethodType::compute_offsets(); | 3240 java_lang_invoke_MethodType::compute_offsets(); |
3220 java_lang_invoke_CallSite::compute_offsets(); | 3241 java_lang_invoke_CallSite::compute_offsets(); |
3221 } | 3242 } |