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

markMap.h

This is the verbatim text of the markMap.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 markMap: public Map {
 public:
  fint size() { return sizeof(markMap) / sizeof(oop); }

  // slot operations
  fint length_slots() { return 0; }
  fint length_nonVM_slots() { return 0; }
  
  // creation operation
  friend Map* create_markMap();
  oop clone(oop obj, bool mustAllocate= true, oop genObj= NULL) {
    // shouldn't be cloning a mark
    Unused(mustAllocate); Unused(genObj);
    ShouldNotCallThis(); return obj; }
  
  // memory operations
  bool verify(oop obj) { Unused(obj); return true; }
  oop scavenge(oop obj) { return obj; }

  // bogus operations
  void switch_pointer(oop obj, oop* where, oop to) {
    Unused(obj); Unused(where); Unused(to);
    ShouldNotCallThis(); }
  mirrorOop mirror_proto() { ShouldNotCallThis(); return NULL; }
  oop dummy_obj(oop filler) {
    Unused(filler); ShouldNotCallThis(); return NULL; }
  fint empty_object_size() { ShouldNotCallThis(); return 0; }
  fint object_size(oop obj) {
    Unused(obj); ShouldNotCallThis(); return 0; }
  bool is_enumerable(oop obj, oop* matching_cell) {
    Unused(obj); Unused(matching_cell);
    ShouldNotCallThis(); return false; }
  oop fill_in_slots(slotList* slist, fint slotCount) {
    ShouldNotCallThis(); Unused(slist); Unused(slotCount); return badOop; }
  
  // printing operations
  void print_string(oop obj, char* buf) { markOop(obj)->print_string(buf); }
  void print_oop(oop obj) { markOop(obj)->print_oop(); }
  void print(oop obj);
};

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