001    /*
002     *  This file is part of the Jikes RVM project (http://jikesrvm.org).
003     *
004     *  This file is licensed to You under the Eclipse Public License (EPL);
005     *  You may not use this file except in compliance with the License. You
006     *  may obtain a copy of the License at
007     *
008     *      http://www.opensource.org/licenses/eclipse-1.0.php
009     *
010     *  See the COPYRIGHT.txt file distributed with this work for information
011     *  regarding copyright ownership.
012     */
013    package org.vmmagic.unboxed;
014    
015    /* machine-generated DO NOT EDIT */
016    
017    import org.jikesrvm.VM;
018    import org.vmmagic.pragma.Interruptible;
019    import org.vmmagic.pragma.Uninterruptible;
020    import org.vmmagic.pragma.RawStorage;
021    
022    @RawStorage(lengthInWords = true, length = 1)
023    @Uninterruptible
024    abstract class ArchitecturalWord {
025    
026     protected final int value;
027     //protected final long value;
028    
029      ArchitecturalWord() {
030        this.value = 0;
031      }
032      ArchitecturalWord(int value, boolean zeroExtend) {
033        this.value = value;
034        //this.value = (zeroExtend) ? ((long)value) & 0x00000000ffffffffL : value;
035      }
036    
037      ArchitecturalWord(long value) {
038        VM.sysFail("Detected use of long constructor for 32-bit word!");
039        this.value = (int)value;
040        //this.value = value;
041      }
042    
043      @Override
044      @Interruptible
045      public String toString() {
046        return ""+value;
047      }
048    
049      @Override
050      public int hashCode() {
051        return (int)value;
052      }
053    
054      @Override
055      public boolean equals(Object that) {
056        if (that instanceof ArchitecturalWord) {
057          return value == ((ArchitecturalWord)that).value;
058        } else {
059          return false;
060        } 
061      }
062    }