Mercurial > hg > graal-compiler
diff 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 |
line wrap: on
line diff
--- a/src/share/vm/graal/graalCompilerToVM.cpp Thu Dec 06 13:53:36 2012 +0100 +++ b/src/share/vm/graal/graalCompilerToVM.cpp Tue Dec 11 08:28:00 2012 +0100 @@ -630,6 +630,8 @@ set_int(env, config, "threadTlabTopOffset", in_bytes(JavaThread::tlab_top_offset())); set_int(env, config, "threadTlabEndOffset", in_bytes(JavaThread::tlab_end_offset())); set_int(env, config, "threadObjectOffset", in_bytes(JavaThread::threadObj_offset())); + set_int(env, config, "osThreadOffset", in_bytes(JavaThread::osthread_offset())); + set_int(env, config, "osThreadInterruptedOffset", in_bytes(OSThread::interrupted_offset())); set_int(env, config, "unlockedMask", (int) markOopDesc::unlocked_value); set_int(env, config, "biasedLockMaskInPlace", (int) markOopDesc::biased_lock_mask_in_place); set_int(env, config, "ageMaskInPlace", (int) markOopDesc::age_mask_in_place); @@ -648,6 +650,8 @@ set_int(env, config, "runtimeCallStackSize", (jint)frame::arg_reg_save_area_bytes); set_int(env, config, "klassModifierFlagsOffset", in_bytes(Klass::modifier_flags_offset())); set_int(env, config, "klassAccessFlagsOffset", in_bytes(Klass::access_flags_offset())); + set_int(env, config, "klassLayoutHelperOffset", in_bytes(Klass::layout_helper_offset())); + set_int(env, config, "klassSuperKlassOffset", in_bytes(Klass::super_offset())); set_int(env, config, "klassOffset", java_lang_Class::klass_offset_in_bytes()); set_int(env, config, "graalMirrorInClassOffset", java_lang_Class::graal_mirror_offset_in_bytes()); set_int(env, config, "methodDataOffset", in_bytes(Method::method_data_offset())); @@ -655,6 +659,12 @@ set_int(env, config, "methodCompiledEntryOffset", in_bytes(Method::from_compiled_offset())); set_int(env, config, "basicLockSize", sizeof(BasicLock)); set_int(env, config, "basicLockDisplacedHeaderOffset", BasicLock::displaced_header_offset_in_bytes()); + set_int(env, config, "uninitializedIdentityHashCodeValue", markOopDesc::no_hash); + set_int(env, config, "identityHashCodeShift", markOopDesc::hash_shift); + + set_int(env, config, "arrayKlassLayoutHelperIdentifier", 0x80000000); + 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"); + set_int(env, config, "arrayKlassComponentMirrorOffset", in_bytes(ArrayKlass::component_mirror_offset())); set_int(env, config, "metaspaceArrayLengthOffset", Array<Klass*>::length_offset_in_bytes()); set_int(env, config, "metaspaceArrayBaseOffset", Array<Klass*>::base_offset_in_bytes()); @@ -699,6 +709,8 @@ set_long(env, config, "logPrimitiveStub", VmIds::addStub(GraalRuntime::entry_for(GraalRuntime::graal_log_primitive_id))); set_long(env, config, "logObjectStub", VmIds::addStub(GraalRuntime::entry_for(GraalRuntime::graal_log_object_id))); set_long(env, config, "logPrintfStub", VmIds::addStub(GraalRuntime::entry_for(GraalRuntime::graal_log_printf_id))); + set_long(env, config, "identityHashCodeStub", VmIds::addStub(GraalRuntime::entry_for(GraalRuntime::graal_identity_hash_code_id))); + set_long(env, config, "threadIsInterruptedStub", VmIds::addStub(GraalRuntime::entry_for(GraalRuntime::graal_thread_is_interrupted_id))); BarrierSet* bs = Universe::heap()->barrier_set();