< prev index next >
src/share/vm/prims/jni.cpp
Print this page
*** 1,7 ****
/*
! * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2012 Red Hat, Inc.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
--- 1,7 ----
/*
! * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2012 Red Hat, Inc.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
*** 707,716 ****
--- 707,717 ----
jint ret = JNI_OK;
DT_RETURN_MARK(Throw, jint, (const jint&)ret);
THROW_OOP_(JNIHandles::resolve(obj), JNI_OK);
ShouldNotReachHere();
+ return 0; // Mute compiler.
JNI_END
#ifndef USDT2
DT_RETURN_MARK_DECL(ThrowNew, jint);
#else /* USDT2 */
*** 733,742 ****
--- 734,744 ----
Symbol* name = k->name();
Handle class_loader (THREAD, k->class_loader());
Handle protection_domain (THREAD, k->protection_domain());
THROW_MSG_LOADER_(name, (char *)message, class_loader, protection_domain, JNI_OK);
ShouldNotReachHere();
+ return 0; // Mute compiler.
JNI_END
// JNI functions only transform a pending async exception to a synchronous
// exception in ExceptionOccurred and ExceptionCheck calls, since
*** 1138,1149 ****
// each of these paths is exercized by the various jck Call[Static,Nonvirtual,][Void,Int,..]Method[A,V,] tests
inline void get_long() { _arguments->push_long(va_arg(_ap, jlong)); }
inline void get_float() { _arguments->push_float((jfloat)va_arg(_ap, jdouble)); } // float is coerced to double w/ va_arg
inline void get_double() { _arguments->push_double(va_arg(_ap, jdouble)); }
! inline void get_object() { jobject l = va_arg(_ap, jobject);
! _arguments->push_oop(Handle((oop *)l, false)); }
inline void set_ap(va_list rap) {
#ifdef va_copy
va_copy(_ap, rap);
#elif defined (__va_copy)
--- 1140,1150 ----
// each of these paths is exercized by the various jck Call[Static,Nonvirtual,][Void,Int,..]Method[A,V,] tests
inline void get_long() { _arguments->push_long(va_arg(_ap, jlong)); }
inline void get_float() { _arguments->push_float((jfloat)va_arg(_ap, jdouble)); } // float is coerced to double w/ va_arg
inline void get_double() { _arguments->push_double(va_arg(_ap, jdouble)); }
! inline void get_object() { _arguments->push_jobject(va_arg(_ap, jobject)); }
inline void set_ap(va_list rap) {
#ifdef va_copy
va_copy(_ap, rap);
#elif defined (__va_copy)
*** 1233,1243 ****
inline void get_int() { _arguments->push_int((jint)(_ap++)->i); }
inline void get_long() { _arguments->push_long((_ap++)->j); }
inline void get_float() { _arguments->push_float((_ap++)->f); }
inline void get_double() { _arguments->push_double((_ap++)->d);}
! inline void get_object() { _arguments->push_oop(Handle((oop *)(_ap++)->l, false)); }
inline void set_ap(const jvalue *rap) { _ap = rap; }
public:
JNI_ArgumentPusherArray(Symbol* signature, const jvalue *rap)
--- 1234,1244 ----
inline void get_int() { _arguments->push_int((jint)(_ap++)->i); }
inline void get_long() { _arguments->push_long((_ap++)->j); }
inline void get_float() { _arguments->push_float((_ap++)->f); }
inline void get_double() { _arguments->push_double((_ap++)->d);}
! inline void get_object() { _arguments->push_jobject((_ap++)->l); }
inline void set_ap(const jvalue *rap) { _ap = rap; }
public:
JNI_ArgumentPusherArray(Symbol* signature, const jvalue *rap)
< prev index next >