Mercurial > hg > graal-compiler
comparison src/share/vm/c1/c1_Runtime1.cpp @ 5573:f5cfb62f17b8
moved platform-independent Graal code from c1_Runtime1_x86.cpp to c1_Runtime1.[hpp,cpp]
author | Doug Simon <doug.simon@oracle.com> |
---|---|
date | Tue, 12 Jun 2012 22:59:40 +0200 |
parents | 0ebca2e35ca5 |
children | 69358a2182a3 |
comparison
equal
deleted
inserted
replaced
5572:8f9c9d372e31 | 5573:f5cfb62f17b8 |
---|---|
646 ResourceMark rm(thread); | 646 ResourceMark rm(thread); |
647 SharedRuntime::throw_and_post_jvmti_exception(thread, vmSymbols::java_lang_IncompatibleClassChangeError()); | 647 SharedRuntime::throw_and_post_jvmti_exception(thread, vmSymbols::java_lang_IncompatibleClassChangeError()); |
648 JRT_END | 648 JRT_END |
649 | 649 |
650 #ifdef GRAAL | 650 #ifdef GRAAL |
651 | |
652 JRT_ENTRY(void, Runtime1::graal_create_null_exception(JavaThread* thread)) | |
653 thread->set_vm_result(Exceptions::new_exception(thread, vmSymbols::java_lang_NullPointerException(), NULL)()); | |
654 JRT_END | |
655 | |
656 JRT_ENTRY(void, Runtime1::graal_create_out_of_bounds_exception(JavaThread* thread, jint index)) | |
657 char message[jintAsStringSize]; | |
658 sprintf(message, "%d", index); | |
659 thread->set_vm_result(Exceptions::new_exception(thread, vmSymbols::java_lang_ArrayIndexOutOfBoundsException(), message)()); | |
660 JRT_END | |
661 | |
662 JRT_ENTRY(void, Runtime1::graal_generic_callback(JavaThread* thread, oop _callback, oop _argument)) | |
663 HandleMark hm; | |
664 Handle callback(_callback); | |
665 Handle argument(_argument); | |
666 | |
667 KlassHandle klass = SystemDictionary::resolve_or_null(vmSymbols::com_oracle_graal_api_code_GenericCallback(), SystemDictionary::java_system_loader(), NULL, thread); | |
668 if (klass.is_null()) { | |
669 tty->print_cr("couldn't resolve com_oracle_graal_api_code_GenericCallback"); | |
670 } | |
671 | |
672 JavaValue result(T_OBJECT); | |
673 JavaCallArguments args; | |
674 args.push_oop(Handle(callback)); | |
675 args.push_oop(Handle(argument)); | |
676 JavaCalls::call_virtual(&result, klass, vmSymbols::callbackInternal_name(), vmSymbols::callback_signature(), &args, thread); | |
677 | |
678 thread->set_vm_result((oop) result.get_jobject()); | |
679 JRT_END | |
680 | |
651 JRT_ENTRY_NO_ASYNC(void, Runtime1::graal_monitorenter(JavaThread* thread, oopDesc* obj, BasicLock* lock)) | 681 JRT_ENTRY_NO_ASYNC(void, Runtime1::graal_monitorenter(JavaThread* thread, oopDesc* obj, BasicLock* lock)) |
652 NOT_PRODUCT(_monitorenter_slowcase_cnt++;) | 682 NOT_PRODUCT(_monitorenter_slowcase_cnt++;) |
653 #ifdef ASSERT | 683 #ifdef ASSERT |
654 if (TraceGraal >= 3) { | 684 if (TraceGraal >= 3) { |
655 tty->print_cr("entered locking slow case with obj=" INTPTR_FORMAT " and lock= " INTPTR_FORMAT, obj, lock); | 685 tty->print_cr("entered locking slow case with obj=" INTPTR_FORMAT " and lock= " INTPTR_FORMAT, obj, lock); |