提交 00c58cd2 编写于 作者: N never

7103224: collision between __LEAF define in interfaceSupport.hpp and...

7103224: collision between __LEAF define in interfaceSupport.hpp and /usr/include/sys/cdefs.h with gcc
Reviewed-by: never
Contributed-by: NOmair Majid <omajid@redhat.com>
上级 50279828
......@@ -34,8 +34,6 @@
// Portions of code courtesy of Clifford Click
#define MAXFLOAT ((float)3.40282346638528860e+38)
// Classic Add functionality. This covers all the usual 'add' behaviors for
// an algebraic ring. Add-integer, add-float, add-double, and binary-or are
// all inherited from this class. The various identity values are supplied
......
......@@ -107,7 +107,7 @@ extern "C" { \
if (env != xenv) { \
NativeReportJNIFatalError(thr, warn_wrong_jnienv); \
} \
__ENTRY(result_type, header, thr)
VM_ENTRY_BASE(result_type, header, thr)
#define UNCHECKED() (unchecked_jni_NativeInterface)
......
......@@ -426,7 +426,7 @@ struct jvmtiInterface_1_ jvmti</xsl:text>
<xsl:value-of select="$space"/>
<xsl:text>ThreadInVMfromNative __tiv(current_thread);</xsl:text>
<xsl:value-of select="$space"/>
<xsl:text>__ENTRY(jvmtiError, </xsl:text>
<xsl:text>VM_ENTRY_BASE(jvmtiError, </xsl:text>
<xsl:apply-templates select="." mode="functionid"/>
<xsl:text> , current_thread)</xsl:text>
<xsl:value-of select="$space"/>
......
......@@ -173,7 +173,7 @@ JvmtiEnv::GetThreadLocalStorage(jthread thread, void** data_ptr) {
// from native so as to resolve the jthread.
ThreadInVMfromNative __tiv(current_thread);
__ENTRY(jvmtiError, JvmtiEnv::GetThreadLocalStorage , current_thread)
VM_ENTRY_BASE(jvmtiError, JvmtiEnv::GetThreadLocalStorage , current_thread)
debug_only(VMNativeEntryWrapper __vew;)
oop thread_oop = JNIHandles::resolve_external_guard(thread);
......
......@@ -373,7 +373,7 @@ JvmtiExport::get_jvmti_interface(JavaVM *jvm, void **penv, jint version) {
JavaThread* current_thread = (JavaThread*) ThreadLocalStorage::thread();
// transition code: native to VM
ThreadInVMfromNative __tiv(current_thread);
__ENTRY(jvmtiEnv*, JvmtiExport::get_jvmti_interface, current_thread)
VM_ENTRY_BASE(jvmtiEnv*, JvmtiExport::get_jvmti_interface, current_thread)
debug_only(VMNativeEntryWrapper __vew;)
JvmtiEnv *jvmti_env = JvmtiEnv::create_a_jvmti(version);
......
......@@ -72,9 +72,9 @@ class HandleMarkCleaner: public StackObj {
}
};
// InterfaceSupport provides functionality used by the __LEAF and __ENTRY
// macros. These macros are used to guard entry points into the VM and
// perform checks upon leave of the VM.
// InterfaceSupport provides functionality used by the VM_LEAF_BASE and
// VM_ENTRY_BASE macros. These macros are used to guard entry points into
// the VM and perform checks upon leave of the VM.
class InterfaceSupport: AllStatic {
......@@ -433,7 +433,7 @@ class RuntimeHistogramElement : public HistogramElement {
// LEAF routines do not lock, GC or throw exceptions
#define __LEAF(result_type, header) \
#define VM_LEAF_BASE(result_type, header) \
TRACE_CALL(result_type, header) \
debug_only(NoHandleMark __hm;) \
/* begin of body */
......@@ -441,7 +441,7 @@ class RuntimeHistogramElement : public HistogramElement {
// ENTRY routines may lock, GC and throw exceptions
#define __ENTRY(result_type, header, thread) \
#define VM_ENTRY_BASE(result_type, header, thread) \
TRACE_CALL(result_type, header) \
HandleMarkCleaner __hm(thread); \
Thread* THREAD = thread; \
......@@ -450,7 +450,7 @@ class RuntimeHistogramElement : public HistogramElement {
// QUICK_ENTRY routines behave like ENTRY but without a handle mark
#define __QUICK_ENTRY(result_type, header, thread) \
#define VM_QUICK_ENTRY_BASE(result_type, header, thread) \
TRACE_CALL(result_type, header) \
debug_only(NoHandleMark __hm;) \
Thread* THREAD = thread; \
......@@ -463,20 +463,20 @@ class RuntimeHistogramElement : public HistogramElement {
#define IRT_ENTRY(result_type, header) \
result_type header { \
ThreadInVMfromJava __tiv(thread); \
__ENTRY(result_type, header, thread) \
VM_ENTRY_BASE(result_type, header, thread) \
debug_only(VMEntryWrapper __vew;)
#define IRT_LEAF(result_type, header) \
result_type header { \
__LEAF(result_type, header) \
VM_LEAF_BASE(result_type, header) \
debug_only(No_Safepoint_Verifier __nspv(true);)
#define IRT_ENTRY_NO_ASYNC(result_type, header) \
result_type header { \
ThreadInVMfromJavaNoAsyncException __tiv(thread); \
__ENTRY(result_type, header, thread) \
VM_ENTRY_BASE(result_type, header, thread) \
debug_only(VMEntryWrapper __vew;)
// Another special case for nmethod_entry_point so the nmethod that the
......@@ -487,7 +487,7 @@ class RuntimeHistogramElement : public HistogramElement {
result_type header { \
nmethodLocker _nmlock(nm); \
ThreadInVMfromJavaNoAsyncException __tiv(thread); \
__ENTRY(result_type, header, thread)
VM_ENTRY_BASE(result_type, header, thread)
#define IRT_END }
......@@ -497,20 +497,20 @@ class RuntimeHistogramElement : public HistogramElement {
#define JRT_ENTRY(result_type, header) \
result_type header { \
ThreadInVMfromJava __tiv(thread); \
__ENTRY(result_type, header, thread) \
VM_ENTRY_BASE(result_type, header, thread) \
debug_only(VMEntryWrapper __vew;)
#define JRT_LEAF(result_type, header) \
result_type header { \
__LEAF(result_type, header) \
VM_LEAF_BASE(result_type, header) \
debug_only(JRT_Leaf_Verifier __jlv;)
#define JRT_ENTRY_NO_ASYNC(result_type, header) \
result_type header { \
ThreadInVMfromJavaNoAsyncException __tiv(thread); \
__ENTRY(result_type, header, thread) \
VM_ENTRY_BASE(result_type, header, thread) \
debug_only(VMEntryWrapper __vew;)
// Same as JRT Entry but allows for return value after the safepoint
......@@ -543,11 +543,11 @@ extern "C" { \
assert( !VerifyJNIEnvThread || (thread == Thread::current()), "JNIEnv is only valid in same thread"); \
ThreadInVMfromNative __tiv(thread); \
debug_only(VMNativeEntryWrapper __vew;) \
__ENTRY(result_type, header, thread)
VM_ENTRY_BASE(result_type, header, thread)
// Ensure that the VMNativeEntryWrapper constructor, which can cause
// a GC, is called outside the NoHandleMark (set via __QUICK_ENTRY).
// a GC, is called outside the NoHandleMark (set via VM_QUICK_ENTRY_BASE).
#define JNI_QUICK_ENTRY(result_type, header) \
extern "C" { \
result_type JNICALL header { \
......@@ -555,7 +555,7 @@ extern "C" { \
assert( !VerifyJNIEnvThread || (thread == Thread::current()), "JNIEnv is only valid in same thread"); \
ThreadInVMfromNative __tiv(thread); \
debug_only(VMNativeEntryWrapper __vew;) \
__QUICK_ENTRY(result_type, header, thread)
VM_QUICK_ENTRY_BASE(result_type, header, thread)
#define JNI_LEAF(result_type, header) \
......@@ -563,7 +563,7 @@ extern "C" { \
result_type JNICALL header { \
JavaThread* thread=JavaThread::thread_from_jni_environment(env); \
assert( !VerifyJNIEnvThread || (thread == Thread::current()), "JNIEnv is only valid in same thread"); \
__LEAF(result_type, header)
VM_LEAF_BASE(result_type, header)
// Close the routine and the extern "C"
......@@ -579,7 +579,7 @@ extern "C" { \
JavaThread* thread=JavaThread::thread_from_jni_environment(env); \
ThreadInVMfromNative __tiv(thread); \
debug_only(VMNativeEntryWrapper __vew;) \
__ENTRY(result_type, header, thread)
VM_ENTRY_BASE(result_type, header, thread)
#define JVM_ENTRY_NO_ENV(result_type, header) \
......@@ -588,7 +588,7 @@ extern "C" { \
JavaThread* thread = (JavaThread*)ThreadLocalStorage::thread(); \
ThreadInVMfromNative __tiv(thread); \
debug_only(VMNativeEntryWrapper __vew;) \
__ENTRY(result_type, header, thread)
VM_ENTRY_BASE(result_type, header, thread)
#define JVM_QUICK_ENTRY(result_type, header) \
......@@ -597,14 +597,14 @@ extern "C" { \
JavaThread* thread=JavaThread::thread_from_jni_environment(env); \
ThreadInVMfromNative __tiv(thread); \
debug_only(VMNativeEntryWrapper __vew;) \
__QUICK_ENTRY(result_type, header, thread)
VM_QUICK_ENTRY_BASE(result_type, header, thread)
#define JVM_LEAF(result_type, header) \
extern "C" { \
result_type JNICALL header { \
VM_Exit::block_if_vm_exited(); \
__LEAF(result_type, header)
VM_LEAF_BASE(result_type, header)
#define JVM_END } }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册