src/cpu/x86/vm/x86_32.ad

changeset 6517
a433eb716ce1
parent 6506
f040cf9fc9c0
child 6518
62c54fcc0a35
     1.1 --- a/src/cpu/x86/vm/x86_32.ad	Mon Mar 24 11:51:40 2014 -0700
     1.2 +++ b/src/cpu/x86/vm/x86_32.ad	Tue Mar 25 12:54:21 2014 -0700
     1.3 @@ -1297,59 +1297,6 @@
     1.4  
     1.5  
     1.6  //=============================================================================
     1.7 -uint size_exception_handler() {
     1.8 -  // NativeCall instruction size is the same as NativeJump.
     1.9 -  // exception handler starts out as jump and can be patched to
    1.10 -  // a call be deoptimization.  (4932387)
    1.11 -  // Note that this value is also credited (in output.cpp) to
    1.12 -  // the size of the code section.
    1.13 -  return NativeJump::instruction_size;
    1.14 -}
    1.15 -
    1.16 -// Emit exception handler code.  Stuff framesize into a register
    1.17 -// and call a VM stub routine.
    1.18 -int emit_exception_handler(CodeBuffer& cbuf) {
    1.19 -
    1.20 -  // Note that the code buffer's insts_mark is always relative to insts.
    1.21 -  // That's why we must use the macroassembler to generate a handler.
    1.22 -  MacroAssembler _masm(&cbuf);
    1.23 -  address base =
    1.24 -  __ start_a_stub(size_exception_handler());
    1.25 -  if (base == NULL)  return 0;  // CodeBuffer::expand failed
    1.26 -  int offset = __ offset();
    1.27 -  __ jump(RuntimeAddress(OptoRuntime::exception_blob()->entry_point()));
    1.28 -  assert(__ offset() - offset <= (int) size_exception_handler(), "overflow");
    1.29 -  __ end_a_stub();
    1.30 -  return offset;
    1.31 -}
    1.32 -
    1.33 -uint size_deopt_handler() {
    1.34 -  // NativeCall instruction size is the same as NativeJump.
    1.35 -  // exception handler starts out as jump and can be patched to
    1.36 -  // a call be deoptimization.  (4932387)
    1.37 -  // Note that this value is also credited (in output.cpp) to
    1.38 -  // the size of the code section.
    1.39 -  return 5 + NativeJump::instruction_size; // pushl(); jmp;
    1.40 -}
    1.41 -
    1.42 -// Emit deopt handler code.
    1.43 -int emit_deopt_handler(CodeBuffer& cbuf) {
    1.44 -
    1.45 -  // Note that the code buffer's insts_mark is always relative to insts.
    1.46 -  // That's why we must use the macroassembler to generate a handler.
    1.47 -  MacroAssembler _masm(&cbuf);
    1.48 -  address base =
    1.49 -  __ start_a_stub(size_exception_handler());
    1.50 -  if (base == NULL)  return 0;  // CodeBuffer::expand failed
    1.51 -  int offset = __ offset();
    1.52 -  InternalAddress here(__ pc());
    1.53 -  __ pushptr(here.addr());
    1.54 -
    1.55 -  __ jump(RuntimeAddress(SharedRuntime::deopt_blob()->unpack()));
    1.56 -  assert(__ offset() - offset <= (int) size_deopt_handler(), "overflow");
    1.57 -  __ end_a_stub();
    1.58 -  return offset;
    1.59 -}
    1.60  
    1.61  int Matcher::regnum_to_fpu_offset(int regnum) {
    1.62    return regnum - 32; // The FP registers are in the second chunk

mercurial