private static void check (int value, String msg) { int low = VM_ObjectModel.maximumObjectRef(Address.zero()).toInt(); int high = 0x10000000; if (value > low && value < high && value != 32767 && (value < 4088 || value > 4096)) { say("Warning: Suspicious Address value of ", String.valueOf(value),
private static void check (Word value, String msg) { Word low = VM_ObjectModel.maximumObjectRef(Address.zero()).toWord(); Word high = Word.fromIntZeroExtend(0x10000000); if (value.GT(low) && value.LT(high) && !value.EQ(Word.fromIntZeroExtend(32767)) && (value.LT(Word.fromIntZeroExtend(4088)) || value.GT(Word.fromIntZeroExtend(4096)))) { say("Warning: Suspicious Address value of ", VM.addressAsHexString(value.toAddress()),
  private static void check (int value, String msg) {    int low = VM_ObjectModel.maximumObjectRef(Address.zero()).toInt();  // yes, max    int high = 0x10000000;  // we shouldn't have that many objects    if (value > low && value < high && value != 32767 &&        (value < 4088 || value > 4096)) {      say("Warning: Suspicious Address value of ", String.valueOf(value),          " written for " + msg);    }  }