aboutsummaryrefslogtreecommitdiff
path: root/src/share/vm/runtime/interfaceSupport.hpp
diff options
context:
space:
mode:
authordbuck <none@none>2018-12-03 07:29:54 -0500
committerdbuck <none@none>2018-12-03 07:29:54 -0500
commit27006141fef987b338b0ff41e3d9c4c3ab81bebe (patch)
tree8328987551457be4e97c3512cf27d5d7eb3713e2 /src/share/vm/runtime/interfaceSupport.hpp
parente4278cbcbbee7f4dc8d351d6ecbd6783953b5c98 (diff)
downloadjdk8u_hotspot-27006141fef987b338b0ff41e3d9c4c3ab81bebe.tar.gz
8141491: Unaligned memory access in Bits.c
Summary: Introduce alignment-safe Copy::conjoint_swap and JVM_CopySwapMemory Reviewed-by: mikael, dholmes
Diffstat (limited to 'src/share/vm/runtime/interfaceSupport.hpp')
-rw-r--r--src/share/vm/runtime/interfaceSupport.hpp18
1 files changed, 17 insertions, 1 deletions
diff --git a/src/share/vm/runtime/interfaceSupport.hpp b/src/share/vm/runtime/interfaceSupport.hpp
index fa9ad5e51..7a20fbaff 100644
--- a/src/share/vm/runtime/interfaceSupport.hpp
+++ b/src/share/vm/runtime/interfaceSupport.hpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -431,6 +431,14 @@ class RuntimeHistogramElement : public HistogramElement {
os::verify_stack_alignment(); \
/* begin of body */
+#define VM_ENTRY_BASE_FROM_LEAF(result_type, header, thread) \
+ TRACE_CALL(result_type, header) \
+ debug_only(ResetNoHandleMark __rnhm;) \
+ HandleMarkCleaner __hm(thread); \
+ Thread* THREAD = thread; \
+ os::verify_stack_alignment(); \
+ /* begin of body */
+
// ENTRY routines may lock, GC and throw exceptions
@@ -592,6 +600,14 @@ extern "C" { \
VM_LEAF_BASE(result_type, header)
+#define JVM_ENTRY_FROM_LEAF(env, result_type, header) \
+ { { \
+ JavaThread* thread=JavaThread::thread_from_jni_environment(env); \
+ ThreadInVMfromNative __tiv(thread); \
+ debug_only(VMNativeEntryWrapper __vew;) \
+ VM_ENTRY_BASE_FROM_LEAF(result_type, header, thread)
+
+
#define JVM_END } }
#endif // SHARE_VM_RUNTIME_INTERFACESUPPORT_HPP