src/os_cpu/bsd_x86/vm/bsd_x86_64.ad
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File
7089790_bsd_vs_linux Cdiff src/os_cpu/bsd_x86/vm/bsd_x86_64.ad
src/os_cpu/bsd_x86/vm/bsd_x86_64.ad
Print this page
rev 2698 : new bsd files
*** 20,30 ****
// or visit www.oracle.com if you need additional information or have any
// questions.
//
//
! // AMD64 Linux Architecture Description File
//----------OS-DEPENDENT ENCODING BLOCK----------------------------------------
// This block specifies the encoding classes used by the compiler to
// output byte streams. Encoding classes generate functions which are
// called by Machine Instruction Nodes in order to generate the bit
--- 20,30 ----
// or visit www.oracle.com if you need additional information or have any
// questions.
//
//
! // AMD64 Bsd Architecture Description File
//----------OS-DEPENDENT ENCODING BLOCK----------------------------------------
// This block specifies the encoding classes used by the compiler to
// output byte streams. Encoding classes generate functions which are
// called by Machine Instruction Nodes in order to generate the bit
*** 68,78 ****
emit_opcode(cbuf, Assembler::REX_B);
emit_opcode(cbuf, 0xFF);
emit_opcode(cbuf, 0xD0 | (R10_enc - 8));
%}
! enc_class linux_breakpoint
%{
MacroAssembler* masm = new MacroAssembler(&cbuf);
masm->call(RuntimeAddress(CAST_FROM_FN_PTR(address, os::breakpoint)));
%}
--- 68,78 ----
emit_opcode(cbuf, Assembler::REX_B);
emit_opcode(cbuf, 0xFF);
emit_opcode(cbuf, 0xD0 | (R10_enc - 8));
%}
! enc_class bsd_breakpoint
%{
MacroAssembler* masm = new MacroAssembler(&cbuf);
masm->call(RuntimeAddress(CAST_FROM_FN_PTR(address, os::breakpoint)));
%}
*** 139,149 ****
// Use the following format syntax
format %{ "int3\t# ShouldNotReachHere" %}
// QQQ TODO for now call breakpoint
// opcode(0xCC);
// ins_encode(Opc);
! ins_encode(linux_breakpoint);
ins_pipe(pipe_slow);
%}
// Platform dependent source
--- 139,149 ----
// Use the following format syntax
format %{ "int3\t# ShouldNotReachHere" %}
// QQQ TODO for now call breakpoint
// opcode(0xCC);
// ins_encode(Opc);
! ins_encode(bsd_breakpoint);
ins_pipe(pipe_slow);
%}
// Platform dependent source
*** 165,174 ****
void MachBreakpointNode::emit(CodeBuffer& cbuf, PhaseRegAlloc* ra_) const {
emit_break(cbuf);
}
uint MachBreakpointNode::size(PhaseRegAlloc* ra_) const {
! // distance could be far and requires load and call through register
! return MachNode::size(ra_);
}
%}
--- 165,173 ----
void MachBreakpointNode::emit(CodeBuffer& cbuf, PhaseRegAlloc* ra_) const {
emit_break(cbuf);
}
uint MachBreakpointNode::size(PhaseRegAlloc* ra_) const {
! return 5;
}
%}
src/os_cpu/bsd_x86/vm/bsd_x86_64.ad
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File