24
25 #include "precompiled.hpp"
26 #include "classfile/vmSymbols.hpp"
27 #include "memory/allocation.inline.hpp"
28 #include "oops/objArrayOop.inline.hpp"
29 #include "oops/oop.inline.hpp"
30 #include "prims/jni.h"
31 #include "prims/jvm.h"
32 #include "runtime/atomic.inline.hpp"
33 #include "runtime/globals.hpp"
34 #include "runtime/interfaceSupport.hpp"
35 #include "runtime/orderAccess.inline.hpp"
36 #include "runtime/reflection.hpp"
37 #include "runtime/vm_version.hpp"
38 #include "services/threadService.hpp"
39 #include "trace/tracing.hpp"
40 #include "utilities/copy.hpp"
41 #include "utilities/dtrace.hpp"
42 #include "utilities/macros.hpp"
43 #if INCLUDE_ALL_GCS
44 #include "gc_implementation/g1/g1SATBCardTableModRefBS.hpp"
45 #endif // INCLUDE_ALL_GCS
46
47 PRAGMA_FORMAT_MUTE_WARNINGS_FOR_GCC
48
49 /*
50 * Implementation of class sun.misc.Unsafe
51 */
52
53
54 #define MAX_OBJECT_SIZE \
55 ( arrayOopDesc::header_size(T_DOUBLE) * HeapWordSize \
56 + ((julong)max_jint * sizeof(double)) )
57
58
59 #define UNSAFE_ENTRY(result_type, header) \
60 JVM_ENTRY(result_type, header)
61
62 // Can't use UNSAFE_LEAF because it has the signature of a straight
63 // call into the runtime (just like JVM_LEAF, funny that) but it's
64 // called like a Java Native and thus the wrapper built for it passes
|
24
25 #include "precompiled.hpp"
26 #include "classfile/vmSymbols.hpp"
27 #include "memory/allocation.inline.hpp"
28 #include "oops/objArrayOop.inline.hpp"
29 #include "oops/oop.inline.hpp"
30 #include "prims/jni.h"
31 #include "prims/jvm.h"
32 #include "runtime/atomic.inline.hpp"
33 #include "runtime/globals.hpp"
34 #include "runtime/interfaceSupport.hpp"
35 #include "runtime/orderAccess.inline.hpp"
36 #include "runtime/reflection.hpp"
37 #include "runtime/vm_version.hpp"
38 #include "services/threadService.hpp"
39 #include "trace/tracing.hpp"
40 #include "utilities/copy.hpp"
41 #include "utilities/dtrace.hpp"
42 #include "utilities/macros.hpp"
43 #if INCLUDE_ALL_GCS
44 #include "gc/g1/g1SATBCardTableModRefBS.hpp"
45 #endif // INCLUDE_ALL_GCS
46
47 PRAGMA_FORMAT_MUTE_WARNINGS_FOR_GCC
48
49 /*
50 * Implementation of class sun.misc.Unsafe
51 */
52
53
54 #define MAX_OBJECT_SIZE \
55 ( arrayOopDesc::header_size(T_DOUBLE) * HeapWordSize \
56 + ((julong)max_jint * sizeof(double)) )
57
58
59 #define UNSAFE_ENTRY(result_type, header) \
60 JVM_ENTRY(result_type, header)
61
62 // Can't use UNSAFE_LEAF because it has the signature of a straight
63 // call into the runtime (just like JVM_LEAF, funny that) but it's
64 // called like a Java Native and thus the wrapper built for it passes
|