< prev index next >

src/hotspot/share/code/vmreg.cpp

Print this page
rev 54763 : 8213084: Rework and enhance Print[Opto]Assembly output
Reviewed-by:


  22  *
  23  */
  24 
  25 #include "precompiled.hpp"
  26 #include "asm/assembler.hpp"
  27 #include "code/vmreg.hpp"
  28 
  29 // First VMReg value that could refer to a stack slot
  30 VMReg VMRegImpl::stack0 = (VMReg)(intptr_t)((ConcreteRegisterImpl::number_of_registers + 7) & ~7);
  31 
  32 // VMRegs are 4 bytes wide on all platforms
  33 const int VMRegImpl::stack_slot_size = 4;
  34 const int VMRegImpl::slots_per_word = wordSize / stack_slot_size;
  35 
  36 const int VMRegImpl::register_count = ConcreteRegisterImpl::number_of_registers;
  37 // Register names
  38 const char *VMRegImpl::regName[ConcreteRegisterImpl::number_of_registers];
  39 
  40 void VMRegImpl::print_on(outputStream* st) const {
  41   if( is_reg() ) {
  42     assert( VMRegImpl::regName[value()], "" );
  43     st->print("%s",VMRegImpl::regName[value()]);
  44   } else if (is_stack()) {
  45     int stk = value() - stack0->value();
  46     st->print("[%d]", stk*4);
  47   } else {
  48     st->print("BAD!");
  49   }
  50 }


  22  *
  23  */
  24 
  25 #include "precompiled.hpp"
  26 #include "asm/assembler.hpp"
  27 #include "code/vmreg.hpp"
  28 
  29 // First VMReg value that could refer to a stack slot
  30 VMReg VMRegImpl::stack0 = (VMReg)(intptr_t)((ConcreteRegisterImpl::number_of_registers + 7) & ~7);
  31 
  32 // VMRegs are 4 bytes wide on all platforms
  33 const int VMRegImpl::stack_slot_size = 4;
  34 const int VMRegImpl::slots_per_word = wordSize / stack_slot_size;
  35 
  36 const int VMRegImpl::register_count = ConcreteRegisterImpl::number_of_registers;
  37 // Register names
  38 const char *VMRegImpl::regName[ConcreteRegisterImpl::number_of_registers];
  39 
  40 void VMRegImpl::print_on(outputStream* st) const {
  41   if( is_reg() ) {
  42     assert(VMRegImpl::regName[value()], "VMRegImpl::regName[%ld] returns NULL", value());
  43     st->print("%s",VMRegImpl::regName[value()]);
  44   } else if (is_stack()) {
  45     int stk = value() - stack0->value();
  46     st->print("[%d]", stk*4);
  47   } else {
  48     st->print("BAD!");
  49   }
  50 }
< prev index next >