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 *
24 */
25
26 #include "precompiled.hpp"
27 #include "asm/assembler.inline.hpp"
28 #include "gc/shared/cardTableBarrierSet.hpp"
29 #include "gc/shared/collectedHeap.inline.hpp"
30 #include "interpreter/interpreter.hpp"
31 #include "memory/resourceArea.hpp"
32 #include "prims/methodHandles.hpp"
33 #include "runtime/biasedLocking.hpp"
34 #include "runtime/interfaceSupport.inline.hpp"
35 #include "runtime/objectMonitor.hpp"
36 #include "runtime/os.hpp"
37 #include "runtime/sharedRuntime.hpp"
38 #include "runtime/stubRoutines.hpp"
39 #include "utilities/macros.hpp"
40 #if INCLUDE_ALL_GCS
41 #include "gc/g1/g1BarrierSet.hpp"
42 #include "gc/g1/heapRegion.hpp"
43 #endif // INCLUDE_ALL_GCS
44
45 #ifdef PRODUCT
46 #define BLOCK_COMMENT(str) // nothing
47 #else
48 #define BLOCK_COMMENT(str) block_comment(str)
49 #endif
50
51 int AbstractAssembler::code_fill_byte() {
52 return 0x00; // illegal instruction 0x00000000
53 }
54
55
56 // Patch instruction `inst' at offset `inst_pos' to refer to
57 // `dest_pos' and return the resulting instruction. We should have
58 // pcs, not offsets, but since all is relative, it will work out fine.
59 int Assembler::patched_branch(int dest_pos, int inst, int inst_pos) {
60 int m = 0; // mask for displacement field
61 int v = 0; // new value for displacement field
62
63 switch (inv_op_ppc(inst)) {
|
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 *
24 */
25
26 #include "precompiled.hpp"
27 #include "asm/assembler.inline.hpp"
28 #include "gc/shared/cardTableBarrierSet.hpp"
29 #include "gc/shared/collectedHeap.inline.hpp"
30 #include "interpreter/interpreter.hpp"
31 #include "memory/resourceArea.hpp"
32 #include "prims/methodHandles.hpp"
33 #include "runtime/biasedLocking.hpp"
34 #include "runtime/interfaceSupport.inline.hpp"
35 #include "runtime/objectMonitor.hpp"
36 #include "runtime/os.hpp"
37 #include "runtime/sharedRuntime.hpp"
38 #include "runtime/stubRoutines.hpp"
39 #include "utilities/macros.hpp"
40
41 #ifdef PRODUCT
42 #define BLOCK_COMMENT(str) // nothing
43 #else
44 #define BLOCK_COMMENT(str) block_comment(str)
45 #endif
46
47 int AbstractAssembler::code_fill_byte() {
48 return 0x00; // illegal instruction 0x00000000
49 }
50
51
52 // Patch instruction `inst' at offset `inst_pos' to refer to
53 // `dest_pos' and return the resulting instruction. We should have
54 // pcs, not offsets, but since all is relative, it will work out fine.
55 int Assembler::patched_branch(int dest_pos, int inst, int inst_pos) {
56 int m = 0; // mask for displacement field
57 int v = 0; // new value for displacement field
58
59 switch (inv_op_ppc(inst)) {
|