equal
deleted
inserted
replaced
834 case vmIntrinsics::_getModifiers: |
834 case vmIntrinsics::_getModifiers: |
835 case vmIntrinsics::_isInterface: |
835 case vmIntrinsics::_isInterface: |
836 case vmIntrinsics::_isArray: |
836 case vmIntrinsics::_isArray: |
837 case vmIntrinsics::_isPrimitive: |
837 case vmIntrinsics::_isPrimitive: |
838 case vmIntrinsics::_getSuperclass: |
838 case vmIntrinsics::_getSuperclass: |
839 case vmIntrinsics::_getComponentType: |
|
840 case vmIntrinsics::_getClassAccessFlags: return inline_native_Class_query(intrinsic_id()); |
839 case vmIntrinsics::_getClassAccessFlags: return inline_native_Class_query(intrinsic_id()); |
841 |
840 |
842 case vmIntrinsics::_floatToRawIntBits: |
841 case vmIntrinsics::_floatToRawIntBits: |
843 case vmIntrinsics::_floatToIntBits: |
842 case vmIntrinsics::_floatToIntBits: |
844 case vmIntrinsics::_intBitsToFloat: |
843 case vmIntrinsics::_intBitsToFloat: |
3398 break; |
3397 break; |
3399 case vmIntrinsics::_getSuperclass: |
3398 case vmIntrinsics::_getSuperclass: |
3400 prim_return_value = null(); |
3399 prim_return_value = null(); |
3401 return_type = TypeInstPtr::MIRROR->cast_to_ptr_type(TypePtr::BotPTR); |
3400 return_type = TypeInstPtr::MIRROR->cast_to_ptr_type(TypePtr::BotPTR); |
3402 break; |
3401 break; |
3403 case vmIntrinsics::_getComponentType: |
|
3404 prim_return_value = null(); |
|
3405 return_type = TypeInstPtr::MIRROR->cast_to_ptr_type(TypePtr::BotPTR); |
|
3406 break; |
|
3407 case vmIntrinsics::_getClassAccessFlags: |
3402 case vmIntrinsics::_getClassAccessFlags: |
3408 prim_return_value = intcon(JVM_ACC_ABSTRACT | JVM_ACC_FINAL | JVM_ACC_PUBLIC); |
3403 prim_return_value = intcon(JVM_ACC_ABSTRACT | JVM_ACC_FINAL | JVM_ACC_PUBLIC); |
3409 return_type = TypeInt::INT; // not bool! 6297094 |
3404 return_type = TypeInt::INT; // not bool! 6297094 |
3410 break; |
3405 break; |
3411 default: |
3406 default: |
3516 phi ->add_req(null()); |
3511 phi ->add_req(null()); |
3517 } |
3512 } |
3518 if (!stopped()) { |
3513 if (!stopped()) { |
3519 query_value = load_mirror_from_klass(kls); |
3514 query_value = load_mirror_from_klass(kls); |
3520 } |
3515 } |
3521 break; |
|
3522 |
|
3523 case vmIntrinsics::_getComponentType: |
|
3524 if (generate_array_guard(kls, region) != NULL) { |
|
3525 // Be sure to pin the oop load to the guard edge just created: |
|
3526 Node* is_array_ctrl = region->in(region->req()-1); |
|
3527 Node* cma = basic_plus_adr(kls, in_bytes(ArrayKlass::component_mirror_offset())); |
|
3528 Node* cmo = make_load(is_array_ctrl, cma, TypeInstPtr::MIRROR, T_OBJECT, MemNode::unordered); |
|
3529 phi->add_req(cmo); |
|
3530 } |
|
3531 query_value = null(); // non-array case is null |
|
3532 break; |
3516 break; |
3533 |
3517 |
3534 case vmIntrinsics::_getClassAccessFlags: |
3518 case vmIntrinsics::_getClassAccessFlags: |
3535 p = basic_plus_adr(kls, in_bytes(Klass::access_flags_offset())); |
3519 p = basic_plus_adr(kls, in_bytes(Klass::access_flags_offset())); |
3536 query_value = make_load(NULL, p, TypeInt::INT, T_INT, MemNode::unordered); |
3520 query_value = make_load(NULL, p, TypeInt::INT, T_INT, MemNode::unordered); |