Main Page   Class Hierarchy   Compound List   File List   Header Files   Compound Members   File Members  

registerLocator.h

This is the verbatim text of the registerLocator.h include file.
/* Sun-$Revision: 23.2 $ */

/* Copyright 1992-9 Sun Microsystems, Inc. and Stanford University.
   See the LICENSE file for license information. */

# pragma interface

// On machines that use callee-save registers such as the PPC,
// we need an object that holds the addresses where a frame's callee-save
// registers have been saved.

class RegisterLocator: public ResourceObj {
 private:
  frame* my_frame; // the frame I am for; I describe the addresses of the callee-saved regs for a specific frame
  
 private:
  fint index_for_reg(Location);
  void set_address(Location, oop*);
  RegisterLocator* clone();
  void be_for_sender();
  
  void update_addresses_from_self_frame();
  void update_addresses_from_VM_frame();
  void forget_everything();

  
 public:
  RegisterLocator(bool clear = true);
  frame* fr() { return my_frame; }
  static RegisterLocator* for_sender_of(frame* f);
  static RegisterLocator* for_frame(frame* r); // slow, but convenient
  RegisterLocator* climb_to_frame(frame* f);
  oop* address_of(Location reg);
  RegisterLocator* sender(); // return new RL for sender frame
  bool are_all_defined();
  RegisterLocator* for_copied_frame(frame* f);
  
# include "_registerLocator_pd.h.incl"
};

Generated at Tue Jun 27 12:09:26 2000 for SelfVM by doxygen 1.0.0 written by Dimitri van Heesch, © 1997-1999