249 * @see SHA5Substitutions#implCompress0 250 */ 251 public static final ForeignCallDescriptor SHA5_IMPL_COMPRESS = new ForeignCallDescriptor("sha5ImplCompress", void.class, Word.class, Object.class); 252 253 public static void sha5ImplCompressStub(Word bufAddr, Object state) { 254 sha5ImplCompressStub(HotSpotBackend.SHA5_IMPL_COMPRESS, bufAddr, state); 255 } 256 257 @NodeIntrinsic(ForeignCallNode.class) 258 private static native void sha5ImplCompressStub(@ConstantNodeParameter ForeignCallDescriptor descriptor, Word bufAddr, Object state); 259 260 /** 261 * @see org.graalvm.compiler.hotspot.meta.HotSpotUnsafeSubstitutions#copyMemory 262 */ 263 public static final ForeignCallDescriptor UNSAFE_ARRAYCOPY = new ForeignCallDescriptor("unsafe_arraycopy", void.class, Word.class, Word.class, Word.class); 264 265 public static void unsafeArraycopy(Word srcAddr, Word dstAddr, Word size) { 266 unsafeArraycopyStub(HotSpotBackend.UNSAFE_ARRAYCOPY, srcAddr, dstAddr, size); 267 } 268 269 @NodeIntrinsic(ForeignCallNode.class) 270 private static native void unsafeArraycopyStub(@ConstantNodeParameter ForeignCallDescriptor descriptor, Word srcAddr, Word dstAddr, Word size); 271 272 /** 273 * @see VMErrorNode 274 */ 275 public static final ForeignCallDescriptor VM_ERROR = new ForeignCallDescriptor("vm_error", void.class, Object.class, Object.class, long.class); 276 277 /** 278 * New multi array stub call. 279 */ 280 public static final ForeignCallDescriptor NEW_MULTI_ARRAY = new ForeignCallDescriptor("new_multi_array", Object.class, KlassPointer.class, int.class, Word.class); 281 282 /** 283 * New array stub. 284 */ 285 public static final ForeignCallDescriptor NEW_ARRAY = new ForeignCallDescriptor("new_array", Object.class, KlassPointer.class, int.class, boolean.class); 286 287 /** 288 * New instance stub. | 249 * @see SHA5Substitutions#implCompress0 250 */ 251 public static final ForeignCallDescriptor SHA5_IMPL_COMPRESS = new ForeignCallDescriptor("sha5ImplCompress", void.class, Word.class, Object.class); 252 253 public static void sha5ImplCompressStub(Word bufAddr, Object state) { 254 sha5ImplCompressStub(HotSpotBackend.SHA5_IMPL_COMPRESS, bufAddr, state); 255 } 256 257 @NodeIntrinsic(ForeignCallNode.class) 258 private static native void sha5ImplCompressStub(@ConstantNodeParameter ForeignCallDescriptor descriptor, Word bufAddr, Object state); 259 260 /** 261 * @see org.graalvm.compiler.hotspot.meta.HotSpotUnsafeSubstitutions#copyMemory 262 */ 263 public static final ForeignCallDescriptor UNSAFE_ARRAYCOPY = new ForeignCallDescriptor("unsafe_arraycopy", void.class, Word.class, Word.class, Word.class); 264 265 public static void unsafeArraycopy(Word srcAddr, Word dstAddr, Word size) { 266 unsafeArraycopyStub(HotSpotBackend.UNSAFE_ARRAYCOPY, srcAddr, dstAddr, size); 267 } 268 269 public static final ForeignCallDescriptor GENERIC_ARRAYCOPY = new ForeignCallDescriptor("generic_arraycopy", int.class, Word.class, int.class, Word.class, int.class, int.class); 270 271 @NodeIntrinsic(ForeignCallNode.class) 272 private static native void unsafeArraycopyStub(@ConstantNodeParameter ForeignCallDescriptor descriptor, Word srcAddr, Word dstAddr, Word size); 273 274 /** 275 * @see VMErrorNode 276 */ 277 public static final ForeignCallDescriptor VM_ERROR = new ForeignCallDescriptor("vm_error", void.class, Object.class, Object.class, long.class); 278 279 /** 280 * New multi array stub call. 281 */ 282 public static final ForeignCallDescriptor NEW_MULTI_ARRAY = new ForeignCallDescriptor("new_multi_array", Object.class, KlassPointer.class, int.class, Word.class); 283 284 /** 285 * New array stub. 286 */ 287 public static final ForeignCallDescriptor NEW_ARRAY = new ForeignCallDescriptor("new_array", Object.class, KlassPointer.class, int.class, boolean.class); 288 289 /** 290 * New instance stub. |