comparison src/share/vm/graal/graalCompilerToVM.cpp @ 7220:fcae6d960acd

added more compiler intrinsics
author Christian Haeubl <haeubl@ssw.jku.at>
date Tue, 11 Dec 2012 08:28:00 +0100
parents ce248dc0a656
children 2ae3e26b7e9a
comparison
equal deleted inserted replaced
7219:69b3b2695fea 7220:fcae6d960acd
628 set_int(env, config, "klassStateOffset", in_bytes(InstanceKlass::init_state_offset())); 628 set_int(env, config, "klassStateOffset", in_bytes(InstanceKlass::init_state_offset()));
629 set_int(env, config, "klassStateFullyInitialized", (int)InstanceKlass::fully_initialized); 629 set_int(env, config, "klassStateFullyInitialized", (int)InstanceKlass::fully_initialized);
630 set_int(env, config, "threadTlabTopOffset", in_bytes(JavaThread::tlab_top_offset())); 630 set_int(env, config, "threadTlabTopOffset", in_bytes(JavaThread::tlab_top_offset()));
631 set_int(env, config, "threadTlabEndOffset", in_bytes(JavaThread::tlab_end_offset())); 631 set_int(env, config, "threadTlabEndOffset", in_bytes(JavaThread::tlab_end_offset()));
632 set_int(env, config, "threadObjectOffset", in_bytes(JavaThread::threadObj_offset())); 632 set_int(env, config, "threadObjectOffset", in_bytes(JavaThread::threadObj_offset()));
633 set_int(env, config, "osThreadOffset", in_bytes(JavaThread::osthread_offset()));
634 set_int(env, config, "osThreadInterruptedOffset", in_bytes(OSThread::interrupted_offset()));
633 set_int(env, config, "unlockedMask", (int) markOopDesc::unlocked_value); 635 set_int(env, config, "unlockedMask", (int) markOopDesc::unlocked_value);
634 set_int(env, config, "biasedLockMaskInPlace", (int) markOopDesc::biased_lock_mask_in_place); 636 set_int(env, config, "biasedLockMaskInPlace", (int) markOopDesc::biased_lock_mask_in_place);
635 set_int(env, config, "ageMaskInPlace", (int) markOopDesc::age_mask_in_place); 637 set_int(env, config, "ageMaskInPlace", (int) markOopDesc::age_mask_in_place);
636 set_int(env, config, "epochMaskInPlace", (int) markOopDesc::epoch_mask_in_place); 638 set_int(env, config, "epochMaskInPlace", (int) markOopDesc::epoch_mask_in_place);
637 set_int(env, config, "biasedLockPattern", (int) markOopDesc::biased_lock_pattern); 639 set_int(env, config, "biasedLockPattern", (int) markOopDesc::biased_lock_pattern);
646 set_boolean(env, config, "isPollingPageFar", Assembler::is_polling_page_far()); 648 set_boolean(env, config, "isPollingPageFar", Assembler::is_polling_page_far());
647 set_int(env, config, "classMirrorOffset", in_bytes(Klass::java_mirror_offset())); 649 set_int(env, config, "classMirrorOffset", in_bytes(Klass::java_mirror_offset()));
648 set_int(env, config, "runtimeCallStackSize", (jint)frame::arg_reg_save_area_bytes); 650 set_int(env, config, "runtimeCallStackSize", (jint)frame::arg_reg_save_area_bytes);
649 set_int(env, config, "klassModifierFlagsOffset", in_bytes(Klass::modifier_flags_offset())); 651 set_int(env, config, "klassModifierFlagsOffset", in_bytes(Klass::modifier_flags_offset()));
650 set_int(env, config, "klassAccessFlagsOffset", in_bytes(Klass::access_flags_offset())); 652 set_int(env, config, "klassAccessFlagsOffset", in_bytes(Klass::access_flags_offset()));
653 set_int(env, config, "klassLayoutHelperOffset", in_bytes(Klass::layout_helper_offset()));
654 set_int(env, config, "klassSuperKlassOffset", in_bytes(Klass::super_offset()));
651 set_int(env, config, "klassOffset", java_lang_Class::klass_offset_in_bytes()); 655 set_int(env, config, "klassOffset", java_lang_Class::klass_offset_in_bytes());
652 set_int(env, config, "graalMirrorInClassOffset", java_lang_Class::graal_mirror_offset_in_bytes()); 656 set_int(env, config, "graalMirrorInClassOffset", java_lang_Class::graal_mirror_offset_in_bytes());
653 set_int(env, config, "methodDataOffset", in_bytes(Method::method_data_offset())); 657 set_int(env, config, "methodDataOffset", in_bytes(Method::method_data_offset()));
654 set_int(env, config, "nmethodEntryOffset", nmethod::verified_entry_point_offset()); 658 set_int(env, config, "nmethodEntryOffset", nmethod::verified_entry_point_offset());
655 set_int(env, config, "methodCompiledEntryOffset", in_bytes(Method::from_compiled_offset())); 659 set_int(env, config, "methodCompiledEntryOffset", in_bytes(Method::from_compiled_offset()));
656 set_int(env, config, "basicLockSize", sizeof(BasicLock)); 660 set_int(env, config, "basicLockSize", sizeof(BasicLock));
657 set_int(env, config, "basicLockDisplacedHeaderOffset", BasicLock::displaced_header_offset_in_bytes()); 661 set_int(env, config, "basicLockDisplacedHeaderOffset", BasicLock::displaced_header_offset_in_bytes());
662 set_int(env, config, "uninitializedIdentityHashCodeValue", markOopDesc::no_hash);
663 set_int(env, config, "identityHashCodeShift", markOopDesc::hash_shift);
664
665 set_int(env, config, "arrayKlassLayoutHelperIdentifier", 0x80000000);
666 assert((Klass::_lh_array_tag_obj_value & Klass::_lh_array_tag_type_value & 0x80000000) != 0, "obj_array and type_array must have first bit set");
667 set_int(env, config, "arrayKlassComponentMirrorOffset", in_bytes(ArrayKlass::component_mirror_offset()));
658 668
659 set_int(env, config, "metaspaceArrayLengthOffset", Array<Klass*>::length_offset_in_bytes()); 669 set_int(env, config, "metaspaceArrayLengthOffset", Array<Klass*>::length_offset_in_bytes());
660 set_int(env, config, "metaspaceArrayBaseOffset", Array<Klass*>::base_offset_in_bytes()); 670 set_int(env, config, "metaspaceArrayBaseOffset", Array<Klass*>::base_offset_in_bytes());
661 set_int(env, config, "methodDataOopDataOffset", in_bytes(MethodData::data_offset())); 671 set_int(env, config, "methodDataOopDataOffset", in_bytes(MethodData::data_offset()));
662 set_int(env, config, "methodDataOopTrapHistoryOffset", in_bytes(MethodData::trap_history_offset())); 672 set_int(env, config, "methodDataOopTrapHistoryOffset", in_bytes(MethodData::trap_history_offset()));
697 set_long(env, config, "arithmeticCosStub", VmIds::addStub(CAST_FROM_FN_PTR(address, SharedRuntime::dcos))); 707 set_long(env, config, "arithmeticCosStub", VmIds::addStub(CAST_FROM_FN_PTR(address, SharedRuntime::dcos)));
698 set_long(env, config, "arithmeticTanStub", VmIds::addStub(CAST_FROM_FN_PTR(address, SharedRuntime::dtan))); 708 set_long(env, config, "arithmeticTanStub", VmIds::addStub(CAST_FROM_FN_PTR(address, SharedRuntime::dtan)));
699 set_long(env, config, "logPrimitiveStub", VmIds::addStub(GraalRuntime::entry_for(GraalRuntime::graal_log_primitive_id))); 709 set_long(env, config, "logPrimitiveStub", VmIds::addStub(GraalRuntime::entry_for(GraalRuntime::graal_log_primitive_id)));
700 set_long(env, config, "logObjectStub", VmIds::addStub(GraalRuntime::entry_for(GraalRuntime::graal_log_object_id))); 710 set_long(env, config, "logObjectStub", VmIds::addStub(GraalRuntime::entry_for(GraalRuntime::graal_log_object_id)));
701 set_long(env, config, "logPrintfStub", VmIds::addStub(GraalRuntime::entry_for(GraalRuntime::graal_log_printf_id))); 711 set_long(env, config, "logPrintfStub", VmIds::addStub(GraalRuntime::entry_for(GraalRuntime::graal_log_printf_id)));
712 set_long(env, config, "identityHashCodeStub", VmIds::addStub(GraalRuntime::entry_for(GraalRuntime::graal_identity_hash_code_id)));
713 set_long(env, config, "threadIsInterruptedStub", VmIds::addStub(GraalRuntime::entry_for(GraalRuntime::graal_thread_is_interrupted_id)));
702 714
703 715
704 BarrierSet* bs = Universe::heap()->barrier_set(); 716 BarrierSet* bs = Universe::heap()->barrier_set();
705 switch (bs->kind()) { 717 switch (bs->kind()) {
706 case BarrierSet::CardTableModRef: 718 case BarrierSet::CardTableModRef: