1 /*
2 * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
3 * Copyright (c) 2012, 2013 SAP SE. All rights reserved.
4 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 *
6 * This code is free software; you can redistribute it and/or modify it
7 * under the terms of the GNU General Public License version 2 only, as
8 * published by the Free Software Foundation.
9 *
10 * This code is distributed in the hope that it will be useful, but WITHOUT
11 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
12 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
13 * version 2 for more details (a copy is included in the LICENSE file that
14 * accompanied this code).
15 *
16 * You should have received a copy of the GNU General Public License version
17 * 2 along with this work; if not, write to the Free Software Foundation,
18 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
19 *
20 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
21 * or visit www.oracle.com if you need additional information or have any
22 * questions.
23 *
257 ((u1*)p)[4] = x >> 24;
258 ((u1*)p)[5] = x >> 16;
259 ((u1*)p)[6] = x >> 8;
260 ((u1*)p)[7] = x;
261 }
262 }
263
264 // Efficient reading and writing of unaligned unsigned data in Java byte ordering (i.e. big-endian ordering)
265 // (no byte-order reversal is needed since Power CPUs are big-endian oriented).
266 static inline u2 get_Java_u2(address p) { return get_native_u2(p); }
267 static inline u4 get_Java_u4(address p) { return get_native_u4(p); }
268 static inline u8 get_Java_u8(address p) { return get_native_u8(p); }
269
270 static inline void put_Java_u2(address p, u2 x) { put_native_u2(p, x); }
271 static inline void put_Java_u4(address p, u4 x) { put_native_u4(p, x); }
272 static inline void put_Java_u8(address p, u8 x) { put_native_u8(p, x); }
273
274 #endif // VM_LITTLE_ENDIAN
275 };
276
277 #if defined(TARGET_OS_ARCH_linux_ppc)
278 #include "bytes_linux_ppc.inline.hpp"
279 #endif
280
281 #endif // CPU_PPC_VM_BYTES_PPC_HPP
|
1 /*
2 * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved.
3 * Copyright (c) 2012, 2016 SAP SE. All rights reserved.
4 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 *
6 * This code is free software; you can redistribute it and/or modify it
7 * under the terms of the GNU General Public License version 2 only, as
8 * published by the Free Software Foundation.
9 *
10 * This code is distributed in the hope that it will be useful, but WITHOUT
11 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
12 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
13 * version 2 for more details (a copy is included in the LICENSE file that
14 * accompanied this code).
15 *
16 * You should have received a copy of the GNU General Public License version
17 * 2 along with this work; if not, write to the Free Software Foundation,
18 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
19 *
20 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
21 * or visit www.oracle.com if you need additional information or have any
22 * questions.
23 *
257 ((u1*)p)[4] = x >> 24;
258 ((u1*)p)[5] = x >> 16;
259 ((u1*)p)[6] = x >> 8;
260 ((u1*)p)[7] = x;
261 }
262 }
263
264 // Efficient reading and writing of unaligned unsigned data in Java byte ordering (i.e. big-endian ordering)
265 // (no byte-order reversal is needed since Power CPUs are big-endian oriented).
266 static inline u2 get_Java_u2(address p) { return get_native_u2(p); }
267 static inline u4 get_Java_u4(address p) { return get_native_u4(p); }
268 static inline u8 get_Java_u8(address p) { return get_native_u8(p); }
269
270 static inline void put_Java_u2(address p, u2 x) { put_native_u2(p, x); }
271 static inline void put_Java_u4(address p, u4 x) { put_native_u4(p, x); }
272 static inline void put_Java_u8(address p, u8 x) { put_native_u8(p, x); }
273
274 #endif // VM_LITTLE_ENDIAN
275 };
276
277 #include OS_CPU_HEADER_INLINE(bytes)
278
279 #endif // CPU_PPC_VM_BYTES_PPC_HPP
|