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

immediateMap.h

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

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

# pragma interface

class immediateMap: public Map {
 public:
  fint size() { 
    return (sizeof(immediateMap) + sizeof(slotDesc)) / sizeof(oop); }

  // slot operations (a single fixed parent slot)
  fint length_slots() { return 1; }
  fint length_nonVM_slots() { return 1; }
  
  // cloning operations
  oop clone(oop obj, bool mustAllocate= true, oop genObj= NULL) {
    UsedOnlyInAssert(obj); Unused(mustAllocate); Unused(genObj);
    assert(obj->is_smi() || obj->is_float(), "object isn't immediate");
    return obj; }
  bool can_inline_clone() { return false; }
  oop cloneSize(oop obj, fint length, bool mustAllocate= true,
                oop filler= NULL) {
    Unused(length); Unused(mustAllocate); Unused(filler);
    ShouldNotCallThis(); // cannot resize an immediate oop
    return obj; }
  
  // memory operations
  bool verify(oop obj) { Unused(obj);  return true; }
  virtual oop scavenge(oop obj) { return obj; }
  
  // bogus operations
  void switch_pointer(oop obj, oop* where, oop to) {
    Unused(obj); Unused(where); Unused(to);
    ShouldNotCallThis(); }
  fint empty_object_size() { ShouldNotCallThis(); return 0; }
  fint object_size(oop obj) {
    Unused(obj);  ShouldNotCallThis(); return 0; }
  fint object_byte_size(oop obj) { Unused(obj);  return 0; }
  
  bool is_enumerable(oop obj, oop* matching_cell) {
    Unused(obj); Unused(matching_cell);
    ShouldNotCallThis(); return false; }

  // creation operation
  oop fill_in_slots(slotList* slist, fint slotCount);
};

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