< prev index next >

src/hotspot/cpu/x86/registerMap_x86.cpp

Print this page




  32     if (regBase % 4 == 0) {
  33       // Reads of the low and high 16 byte parts should be handled by location itself
  34       // because they have separate callee saved entries.
  35       // See RegisterSaver::save_live_registers().
  36       return NULL;
  37     }
  38     VMReg baseReg = as_XMMRegister(regBase / XMMRegisterImpl::max_slots_per_register)->as_VMReg();
  39     intptr_t offset = (reg->value() - baseReg->value()) * VMRegImpl::stack_slot_size; // offset in bytes
  40     if (offset >= 16) {
  41       // The high part of YMM registers are saved in a their own area in the frame
  42       baseReg = baseReg->next()->next()->next()->next();
  43       offset -= 16;
  44     }
  45     address baseLocation = location(baseReg);
  46     if (baseLocation != NULL) {
  47       return baseLocation + offset;
  48     }
  49   }
  50   return NULL;
  51 }







  32     if (regBase % 4 == 0) {
  33       // Reads of the low and high 16 byte parts should be handled by location itself
  34       // because they have separate callee saved entries.
  35       // See RegisterSaver::save_live_registers().
  36       return NULL;
  37     }
  38     VMReg baseReg = as_XMMRegister(regBase / XMMRegisterImpl::max_slots_per_register)->as_VMReg();
  39     intptr_t offset = (reg->value() - baseReg->value()) * VMRegImpl::stack_slot_size; // offset in bytes
  40     if (offset >= 16) {
  41       // The high part of YMM registers are saved in a their own area in the frame
  42       baseReg = baseReg->next()->next()->next()->next();
  43       offset -= 16;
  44     }
  45     address baseLocation = location(baseReg);
  46     if (baseLocation != NULL) {
  47       return baseLocation + offset;
  48     }
  49   }
  50   return NULL;
  51 }
  52 
  53 
  54 int RegisterMap::link_offset() {
  55   return in_bytes(byte_offset_of(RegisterMap, _location)) + (int)(sizeof(intptr_t*) * rbp->as_VMReg()->value());
  56 }
< prev index next >