equal
deleted
inserted
replaced
124 int imm32 = target - (address) &disp[1]; |
124 int imm32 = target - (address) &disp[1]; |
125 *disp = imm32; |
125 *disp = imm32; |
126 } |
126 } |
127 } |
127 } |
128 |
128 |
129 #ifndef PRODUCT |
|
130 static void pd_print_patched_instruction(address branch) { |
|
131 const char* s; |
|
132 unsigned char op = branch[0]; |
|
133 if (op == 0xE8) { |
|
134 s = "call"; |
|
135 } else if (op == 0xE9 || op == 0xEB) { |
|
136 s = "jmp"; |
|
137 } else if ((op & 0xF0) == 0x70) { |
|
138 s = "jcc"; |
|
139 } else if (op == 0x0F) { |
|
140 s = "jcc"; |
|
141 } else { |
|
142 s = "????"; |
|
143 } |
|
144 tty->print("%s (unresolved)", s); |
|
145 } |
|
146 #endif |
|
147 |
|
148 // The following 4 methods return the offset of the appropriate move instruction |
129 // The following 4 methods return the offset of the appropriate move instruction |
149 |
130 |
150 // Support for fast byte/short loading with zero extension (depending on particular CPU) |
131 // Support for fast byte/short loading with zero extension (depending on particular CPU) |
151 int load_unsigned_byte(Register dst, Address src); |
132 int load_unsigned_byte(Register dst, Address src); |
152 int load_unsigned_short(Register dst, Address src); |
133 int load_unsigned_short(Register dst, Address src); |