< prev index next >

src/hotspot/share/c1/c1_LinearScan.cpp

Print this page
*** 61,13 ***
    #define TRACE_LINEAR_SCAN(level, code)
  #endif
  
  // Map BasicType to spill size in 32-bit words, matching VMReg's notion of words
  #ifdef _LP64
! static int type2spill_size[T_CONFLICT+1]={ -1, 0, 0, 0, 1, 1, 1, 2, 1, 1, 1, 2, 2, 2, 0, 2,  1, 2, 1, -1};
  #else
! static int type2spill_size[T_CONFLICT+1]={ -1, 0, 0, 0, 1, 1, 1, 2, 1, 1, 1, 2, 1, 1, 0, 1, -1, 1, 1, -1};
  #endif
  
  
  // Implementation of LinearScan
  
--- 61,13 ---
    #define TRACE_LINEAR_SCAN(level, code)
  #endif
  
  // Map BasicType to spill size in 32-bit words, matching VMReg's notion of words
  #ifdef _LP64
! static int type2spill_size[T_CONFLICT+1]={ -1, 0, 0, 0, 1, 1, 1, 2, 1, 1, 1, 2, 2, 2, 2, 0, 2,  1, 2, 1, -1};
  #else
! static int type2spill_size[T_CONFLICT+1]={ -1, 0, 0, 0, 1, 1, 1, 2, 1, 1, 1, 2, 1, 1, 1, 0, 1, -1, 1, 1, -1};
  #endif
  
  
  // Implementation of LinearScan
  

*** 258,11 ***
      it->assign_reg(spill);
    }
  }
  
  void LinearScan::propagate_spill_slots() {
!   if (!frame_map()->finalize_frame(max_spills())) {
      bailout("frame too large");
    }
  }
  
  // create a new interval with a predefined reg_num
--- 258,11 ---
      it->assign_reg(spill);
    }
  }
  
  void LinearScan::propagate_spill_slots() {
!   if (!frame_map()->finalize_frame(max_spills(), compilation()->needs_stack_repair())) {
      bailout("frame too large");
    }
  }
  
  // create a new interval with a predefined reg_num

*** 2955,11 ***
      for (int i = 0; i < nof_locks; i++) {
        monitors->append(location_for_monitor_index(lock_offset + i));
      }
    }
  
!   return new IRScopeDebugInfo(cur_scope, cur_state->bci(), locals, expressions, monitors, caller_debug_info);
  }
  
  
  void LinearScan::compute_debug_info(CodeEmitInfo* info, int op_id) {
    TRACE_LINEAR_SCAN(3, tty->print_cr("creating debug information at op_id %d", op_id));
--- 2955,11 ---
      for (int i = 0; i < nof_locks; i++) {
        monitors->append(location_for_monitor_index(lock_offset + i));
      }
    }
  
!   return new IRScopeDebugInfo(cur_scope, cur_state->bci(), locals, expressions, monitors, caller_debug_info, cur_state->should_reexecute());
  }
  
  
  void LinearScan::compute_debug_info(CodeEmitInfo* info, int op_id) {
    TRACE_LINEAR_SCAN(3, tty->print_cr("creating debug information at op_id %d", op_id));
< prev index next >