Mercurial > hg > graal-compiler
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: |