Mercurial > hg > truffle
comparison src/share/vm/classfile/javaClasses.cpp @ 1059:389049f3f393
6858164: invokedynamic code needs some cleanup (post-6655638)
Summary: Fix several crashers, remove needless paths for boxed-style bootstrap method call, refactor & simplify APIs for rewriter constantPoolOop, remove sun.dyn.CallSiteImpl
Reviewed-by: kvn
author | jrose |
---|---|
date | Fri, 30 Oct 2009 16:22:59 -0700 |
parents | 489a4f8dcd0f |
children | 84a2da7f454c |
comparison
equal
deleted
inserted
replaced
1058:73a726751507 | 1059:389049f3f393 |
---|---|
2428 assert(mtform->klass() == SystemDictionary::MethodTypeForm_klass(), "MTForm only"); | 2428 assert(mtform->klass() == SystemDictionary::MethodTypeForm_klass(), "MTForm only"); |
2429 return mtform->obj_field(_erasedType_offset); | 2429 return mtform->obj_field(_erasedType_offset); |
2430 } | 2430 } |
2431 | 2431 |
2432 | 2432 |
2433 // Support for sun_dyn_CallSiteImpl | 2433 // Support for java_dyn_CallSite |
2434 | 2434 |
2435 int sun_dyn_CallSiteImpl::_type_offset; | 2435 int java_dyn_CallSite::_type_offset; |
2436 int sun_dyn_CallSiteImpl::_target_offset; | 2436 int java_dyn_CallSite::_target_offset; |
2437 int sun_dyn_CallSiteImpl::_vmmethod_offset; | 2437 int java_dyn_CallSite::_vmmethod_offset; |
2438 | 2438 |
2439 void sun_dyn_CallSiteImpl::compute_offsets() { | 2439 void java_dyn_CallSite::compute_offsets() { |
2440 if (!EnableInvokeDynamic) return; | 2440 if (!EnableInvokeDynamic) return; |
2441 klassOop k = SystemDictionary::CallSiteImpl_klass(); | 2441 klassOop k = SystemDictionary::CallSite_klass(); |
2442 if (k != NULL) { | 2442 if (k != NULL) { |
2443 compute_offset(_type_offset, k, vmSymbols::type_name(), vmSymbols::java_dyn_MethodType_signature(), true); | 2443 compute_offset(_type_offset, k, vmSymbols::type_name(), vmSymbols::java_dyn_MethodType_signature(), true); |
2444 compute_offset(_target_offset, k, vmSymbols::target_name(), vmSymbols::java_dyn_MethodHandle_signature(), true); | 2444 compute_offset(_target_offset, k, vmSymbols::target_name(), vmSymbols::java_dyn_MethodHandle_signature(), true); |
2445 compute_offset(_vmmethod_offset, k, vmSymbols::vmmethod_name(), vmSymbols::object_signature(), true); | 2445 compute_offset(_vmmethod_offset, k, vmSymbols::vmmethod_name(), vmSymbols::object_signature(), true); |
2446 } | 2446 } |
2447 } | 2447 } |
2448 | 2448 |
2449 oop sun_dyn_CallSiteImpl::type(oop site) { | 2449 oop java_dyn_CallSite::type(oop site) { |
2450 return site->obj_field(_type_offset); | 2450 return site->obj_field(_type_offset); |
2451 } | 2451 } |
2452 | 2452 |
2453 oop sun_dyn_CallSiteImpl::target(oop site) { | 2453 oop java_dyn_CallSite::target(oop site) { |
2454 return site->obj_field(_target_offset); | 2454 return site->obj_field(_target_offset); |
2455 } | 2455 } |
2456 | 2456 |
2457 void sun_dyn_CallSiteImpl::set_target(oop site, oop target) { | 2457 void java_dyn_CallSite::set_target(oop site, oop target) { |
2458 site->obj_field_put(_target_offset, target); | 2458 site->obj_field_put(_target_offset, target); |
2459 } | 2459 } |
2460 | 2460 |
2461 oop sun_dyn_CallSiteImpl::vmmethod(oop site) { | 2461 oop java_dyn_CallSite::vmmethod(oop site) { |
2462 return site->obj_field(_vmmethod_offset); | 2462 return site->obj_field(_vmmethod_offset); |
2463 } | 2463 } |
2464 | 2464 |
2465 void sun_dyn_CallSiteImpl::set_vmmethod(oop site, oop ref) { | 2465 void java_dyn_CallSite::set_vmmethod(oop site, oop ref) { |
2466 site->obj_field_put(_vmmethod_offset, ref); | 2466 site->obj_field_put(_vmmethod_offset, ref); |
2467 } | 2467 } |
2468 | 2468 |
2469 | 2469 |
2470 // Support for java_security_AccessControlContext | 2470 // Support for java_security_AccessControlContext |
2809 sun_dyn_AdapterMethodHandle::compute_offsets(); | 2809 sun_dyn_AdapterMethodHandle::compute_offsets(); |
2810 java_dyn_MethodType::compute_offsets(); | 2810 java_dyn_MethodType::compute_offsets(); |
2811 java_dyn_MethodTypeForm::compute_offsets(); | 2811 java_dyn_MethodTypeForm::compute_offsets(); |
2812 } | 2812 } |
2813 if (EnableInvokeDynamic) { | 2813 if (EnableInvokeDynamic) { |
2814 sun_dyn_CallSiteImpl::compute_offsets(); | 2814 java_dyn_CallSite::compute_offsets(); |
2815 } | 2815 } |
2816 java_security_AccessControlContext::compute_offsets(); | 2816 java_security_AccessControlContext::compute_offsets(); |
2817 // Initialize reflection classes. The layouts of these classes | 2817 // Initialize reflection classes. The layouts of these classes |
2818 // changed with the new reflection implementation in JDK 1.4, and | 2818 // changed with the new reflection implementation in JDK 1.4, and |
2819 // since the Universe doesn't know what JDK version it is until this | 2819 // since the Universe doesn't know what JDK version it is until this |