diff options
author | dbuck <none@none> | 2018-12-03 07:29:54 -0500 |
---|---|---|
committer | dbuck <none@none> | 2018-12-03 07:29:54 -0500 |
commit | 27006141fef987b338b0ff41e3d9c4c3ab81bebe (patch) | |
tree | 8328987551457be4e97c3512cf27d5d7eb3713e2 /src/share/vm/runtime/interfaceSupport.hpp | |
parent | e4278cbcbbee7f4dc8d351d6ecbd6783953b5c98 (diff) | |
download | jdk8u_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.hpp | 18 |
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 |