src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.amd64/src/org/graalvm/compiler/hotspot/amd64/AMD64HotSpotLIRGenerator.java
changeset 54328 37648a9c4a6a
parent 54204 55c262f4f5a1
child 58299 6df94ce3ab2f
equal deleted inserted replaced
54327:a4d19817609c 54328:37648a9c4a6a
   674 
   674 
   675     @Override
   675     @Override
   676     protected StrategySwitchOp createStrategySwitchOp(SwitchStrategy strategy, LabelRef[] keyTargets, LabelRef defaultTarget, Variable key, AllocatableValue temp) {
   676     protected StrategySwitchOp createStrategySwitchOp(SwitchStrategy strategy, LabelRef[] keyTargets, LabelRef defaultTarget, Variable key, AllocatableValue temp) {
   677         return new AMD64HotSpotStrategySwitchOp(strategy, keyTargets, defaultTarget, key, temp);
   677         return new AMD64HotSpotStrategySwitchOp(strategy, keyTargets, defaultTarget, key, temp);
   678     }
   678     }
   679 
       
   680     @Override
       
   681     public ForeignCallLinkage lookupArrayEqualsStub(JavaKind kind, int constantLength) {
       
   682         if (constantLength >= 0 && constantLength * kind.getByteCount() < 2 * getMaxVectorSize()) {
       
   683             // Yield constant-length arrays comparison assembly
       
   684             return null;
       
   685         }
       
   686         switch (kind) {
       
   687             case Boolean:
       
   688                 return getForeignCalls().lookupForeignCall(AMD64ArrayEqualsStub.STUB_BOOLEAN_ARRAY_EQUALS);
       
   689             case Byte:
       
   690                 return getForeignCalls().lookupForeignCall(AMD64ArrayEqualsStub.STUB_BYTE_ARRAY_EQUALS);
       
   691             case Char:
       
   692                 return getForeignCalls().lookupForeignCall(AMD64ArrayEqualsStub.STUB_CHAR_ARRAY_EQUALS);
       
   693             case Short:
       
   694                 return getForeignCalls().lookupForeignCall(AMD64ArrayEqualsStub.STUB_SHORT_ARRAY_EQUALS);
       
   695             case Int:
       
   696                 return getForeignCalls().lookupForeignCall(AMD64ArrayEqualsStub.STUB_INT_ARRAY_EQUALS);
       
   697             case Long:
       
   698                 return getForeignCalls().lookupForeignCall(AMD64ArrayEqualsStub.STUB_LONG_ARRAY_EQUALS);
       
   699             case Float:
       
   700                 return getForeignCalls().lookupForeignCall(AMD64ArrayEqualsStub.STUB_FLOAT_ARRAY_EQUALS);
       
   701             case Double:
       
   702                 return getForeignCalls().lookupForeignCall(AMD64ArrayEqualsStub.STUB_DOUBLE_ARRAY_EQUALS);
       
   703             default:
       
   704                 return null;
       
   705         }
       
   706     }
       
   707 }
   679 }