hotspot/src/share/vm/jvmci/jvmciRuntime.cpp
changeset 36842 8f0d0faa51e2
parent 36805 626399e1ebf2
child 37267 ad8c0e8de29f
equal deleted inserted replaced
36840:29d9167ccc82 36842:8f0d0faa51e2
   361 
   361 
   362   assert(continuation != NULL, "no handler found");
   362   assert(continuation != NULL, "no handler found");
   363   return continuation;
   363   return continuation;
   364 }
   364 }
   365 
   365 
   366 JRT_ENTRY(void, JVMCIRuntime::create_null_exception(JavaThread* thread))
       
   367   SharedRuntime::throw_and_post_jvmti_exception(thread, vmSymbols::java_lang_NullPointerException());
       
   368   thread->set_vm_result(PENDING_EXCEPTION);
       
   369   CLEAR_PENDING_EXCEPTION;
       
   370 JRT_END
       
   371 
       
   372 JRT_ENTRY(void, JVMCIRuntime::create_out_of_bounds_exception(JavaThread* thread, jint index))
       
   373   char message[jintAsStringSize];
       
   374   sprintf(message, "%d", index);
       
   375   SharedRuntime::throw_and_post_jvmti_exception(thread, vmSymbols::java_lang_ArrayIndexOutOfBoundsException(), message);
       
   376   thread->set_vm_result(PENDING_EXCEPTION);
       
   377   CLEAR_PENDING_EXCEPTION;
       
   378 JRT_END
       
   379 
       
   380 JRT_ENTRY_NO_ASYNC(void, JVMCIRuntime::monitorenter(JavaThread* thread, oopDesc* obj, BasicLock* lock))
   366 JRT_ENTRY_NO_ASYNC(void, JVMCIRuntime::monitorenter(JavaThread* thread, oopDesc* obj, BasicLock* lock))
   381   IF_TRACE_jvmci_3 {
   367   IF_TRACE_jvmci_3 {
   382     char type[O_BUFLEN];
   368     char type[O_BUFLEN];
   383     obj->klass()->name()->as_C_string(type, O_BUFLEN);
   369     obj->klass()->name()->as_C_string(type, O_BUFLEN);
   384     markOop mark = obj->mark();
   370     markOop mark = obj->mark();
   434     char type[O_BUFLEN];
   420     char type[O_BUFLEN];
   435     obj->klass()->name()->as_C_string(type, O_BUFLEN);
   421     obj->klass()->name()->as_C_string(type, O_BUFLEN);
   436     TRACE_jvmci_3("%s: exited locking slow case with obj=" INTPTR_FORMAT ", type=%s, mark=" INTPTR_FORMAT ", lock=" INTPTR_FORMAT, thread->name(), p2i(obj), type, p2i(obj->mark()), p2i(lock));
   422     TRACE_jvmci_3("%s: exited locking slow case with obj=" INTPTR_FORMAT ", type=%s, mark=" INTPTR_FORMAT ", lock=" INTPTR_FORMAT, thread->name(), p2i(obj), type, p2i(obj->mark()), p2i(lock));
   437     tty->flush();
   423     tty->flush();
   438   }
   424   }
       
   425 JRT_END
       
   426 
       
   427 JRT_ENTRY(void, JVMCIRuntime::throw_and_post_jvmti_exception(JavaThread* thread, Symbol* name, const char* message))
       
   428   SharedRuntime::throw_and_post_jvmti_exception(thread, name, message);
       
   429 JRT_END
       
   430 
       
   431 JRT_ENTRY(void, JVMCIRuntime::throw_klass_external_name_exception(JavaThread* thread, Symbol* exception, Klass* klass))
       
   432   ResourceMark rm(thread);
       
   433   SharedRuntime::throw_and_post_jvmti_exception(thread, exception, klass->external_name());
       
   434 JRT_END
       
   435 
       
   436 JRT_ENTRY(void, JVMCIRuntime::throw_class_cast_exception(JavaThread* thread, Symbol* exception, Klass* caster_klass, Klass* target_klass))
       
   437   ResourceMark rm(thread);
       
   438   const char* message = SharedRuntime::generate_class_cast_message(caster_klass, target_klass);
       
   439   SharedRuntime::throw_and_post_jvmti_exception(thread, exception, message);
   439 JRT_END
   440 JRT_END
   440 
   441 
   441 JRT_LEAF(void, JVMCIRuntime::log_object(JavaThread* thread, oopDesc* obj, bool as_string, bool newline))
   442 JRT_LEAF(void, JVMCIRuntime::log_object(JavaThread* thread, oopDesc* obj, bool as_string, bool newline))
   442   ttyLocker ttyl;
   443   ttyLocker ttyl;
   443 
   444