20 * or visit www.oracle.com if you need additional information or have any |
20 * or visit www.oracle.com if you need additional information or have any |
21 * questions. |
21 * questions. |
22 * |
22 * |
23 */ |
23 */ |
24 |
24 |
25 # include "incls/_precompiled.incl" |
25 #include "precompiled.hpp" |
26 # include "incls/_c1_LIRAssembler.cpp.incl" |
26 #include "c1/c1_Compilation.hpp" |
|
27 #include "c1/c1_Instruction.hpp" |
|
28 #include "c1/c1_InstructionPrinter.hpp" |
|
29 #include "c1/c1_LIRAssembler.hpp" |
|
30 #include "c1/c1_MacroAssembler.hpp" |
|
31 #include "c1/c1_ValueStack.hpp" |
|
32 #include "ci/ciInstance.hpp" |
|
33 #ifdef TARGET_ARCH_x86 |
|
34 # include "nativeInst_x86.hpp" |
|
35 # include "vmreg_x86.inline.hpp" |
|
36 #endif |
|
37 #ifdef TARGET_ARCH_sparc |
|
38 # include "nativeInst_sparc.hpp" |
|
39 # include "vmreg_sparc.inline.hpp" |
|
40 #endif |
|
41 #ifdef TARGET_ARCH_zero |
|
42 # include "nativeInst_zero.hpp" |
|
43 # include "vmreg_zero.inline.hpp" |
|
44 #endif |
27 |
45 |
28 |
46 |
29 void LIR_Assembler::patching_epilog(PatchingStub* patch, LIR_PatchCode patch_code, Register obj, CodeEmitInfo* info) { |
47 void LIR_Assembler::patching_epilog(PatchingStub* patch, LIR_PatchCode patch_code, Register obj, CodeEmitInfo* info) { |
30 // we must have enough patching space so that call can be inserted |
48 // we must have enough patching space so that call can be inserted |
31 while ((intx) _masm->pc() - (intx) patch->pc_start() < NativeCall::instruction_size) { |
49 while ((intx) _masm->pc() - (intx) patch->pc_start() < NativeCall::instruction_size) { |