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.mmtk.plan.semispace.usePrimitiveWriteBarriers;
014    
015    import org.mmtk.plan.semispace.SSConstraints;
016    import org.vmmagic.pragma.*;
017    
018    /**
019     * UsePrimitiveWriteBarriers common constants.
020     */
021    @Uninterruptible
022    public class UsePrimitiveWriteBarriersConstraints extends SSConstraints {
023    
024      @Override
025      public boolean needsBooleanWriteBarrier() { return true; }
026    
027      @Override
028      public boolean booleanBulkCopySupported() { return true; }
029    
030      @Override
031      public boolean needsByteWriteBarrier() { return true; }
032    
033      @Override
034      public boolean byteBulkCopySupported() { return true; }
035    
036      @Override
037      public boolean needsCharWriteBarrier() { return true; }
038    
039      @Override
040      public boolean charBulkCopySupported() { return true; }
041    
042      @Override
043      public boolean needsShortWriteBarrier() { return true; }
044    
045      @Override
046      public boolean shortBulkCopySupported() { return true; }
047    
048      @Override
049      public boolean needsIntWriteBarrier() { return true; }
050    
051      @Override
052      public boolean intBulkCopySupported() { return true; }
053    
054      @Override
055      public boolean needsLongWriteBarrier() { return true; }
056    
057      @Override
058      public boolean longBulkCopySupported() { return true; }
059    
060      @Override
061      public boolean needsFloatWriteBarrier() { return true; }
062    
063      @Override
064      public boolean floatBulkCopySupported() { return true; }
065    
066      @Override
067      public boolean needsDoubleWriteBarrier() { return true; }
068    
069      @Override
070      public boolean doubleBulkCopySupported() { return true; }
071    
072      @Override
073      public boolean needsWordWriteBarrier() { return true; }
074    
075      @Override
076      public boolean needsAddressWriteBarrier() { return true; }
077    
078      @Override
079      public boolean needsExtentWriteBarrier() { return true; }
080    
081      @Override
082      public boolean needsOffsetWriteBarrier() { return true; }
083    
084    }