< prev index next >

src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/replacements/HotSpotReplacementsUtil.java

Print this page

        

*** 1,7 **** /* ! * Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. --- 1,7 ---- /* ! * Copyright (c) 2012, 2019, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation.
*** 136,158 **** } return read; } } ! public static ResolvedJavaType methodHolderClass(@Fold.InjectedParameter IntrinsicContext context) { return context.getOriginalMethod().getDeclaringClass(); } static ResolvedJavaType getType(@Fold.InjectedParameter IntrinsicContext context, String typeName) { try { UnresolvedJavaType unresolved = UnresolvedJavaType.create(typeName); return unresolved.resolve(methodHolderClass(context)); } catch (LinkageError e) { throw new GraalError(e); } } static int getFieldOffset(ResolvedJavaType type, String fieldName) { for (ResolvedJavaField field : type.getInstanceFields(true)) { if (field.getName().equals(fieldName)) { return field.getOffset(); } --- 136,161 ---- } return read; } } ! @Fold ! public static ResolvedJavaType methodHolderClass(@InjectedParameter IntrinsicContext context) { return context.getOriginalMethod().getDeclaringClass(); } + @Fold static ResolvedJavaType getType(@Fold.InjectedParameter IntrinsicContext context, String typeName) { try { UnresolvedJavaType unresolved = UnresolvedJavaType.create(typeName); return unresolved.resolve(methodHolderClass(context)); } catch (LinkageError e) { throw new GraalError(e); } } + @Fold static int getFieldOffset(ResolvedJavaType type, String fieldName) { for (ResolvedJavaField field : type.getInstanceFields(true)) { if (field.getName().equals(fieldName)) { return field.getOffset(); }
*** 582,592 **** /** * Calls {@link #arrayAllocationSize(int, int, int, int)} using an injected VM configuration * object. */ ! public static int arrayAllocationSize(int length, int headerSize, int log2ElementSize) { return arrayAllocationSize(length, headerSize, log2ElementSize, objectAlignment(INJECTED_VMCONFIG)); } /** * Computes the size of the memory chunk allocated for an array. This size accounts for the --- 585,595 ---- /** * Calls {@link #arrayAllocationSize(int, int, int, int)} using an injected VM configuration * object. */ ! public static long arrayAllocationSize(int length, int headerSize, int log2ElementSize) { return arrayAllocationSize(length, headerSize, log2ElementSize, objectAlignment(INJECTED_VMCONFIG)); } /** * Computes the size of the memory chunk allocated for an array. This size accounts for the
*** 598,610 **** * @param log2ElementSize log2 of the size of an element in the array * @param alignment the {@linkplain GraalHotSpotVMConfig#objectAlignment object alignment * requirement} * @return the size of the memory chunk */ ! public static int arrayAllocationSize(int length, int headerSize, int log2ElementSize, int alignment) { ! int size = (length << log2ElementSize) + headerSize + (alignment - 1); ! int mask = ~(alignment - 1); return size & mask; } @Fold public static int instanceHeaderSize(@InjectedParameter GraalHotSpotVMConfig config) { --- 601,613 ---- * @param log2ElementSize log2 of the size of an element in the array * @param alignment the {@linkplain GraalHotSpotVMConfig#objectAlignment object alignment * requirement} * @return the size of the memory chunk */ ! public static long arrayAllocationSize(int length, int headerSize, int log2ElementSize, int alignment) { ! long size = ((long) length << log2ElementSize) + headerSize + (alignment - 1); ! long mask = ~(alignment - 1); return size & mask; } @Fold public static int instanceHeaderSize(@InjectedParameter GraalHotSpotVMConfig config) {
*** 728,738 **** ReplacementsUtil.staticAssert(offset != hubOffset(INJECTED_VMCONFIG), "Use loadHubIntrinsic instead of loadWordFromObject"); return loadWordFromObjectIntrinsic(object, offset, identity, getWordKind()); } public static KlassPointer loadKlassFromObject(Object object, int offset, LocationIdentity identity) { ! ReplacementsUtil.staticAssert(offset != hubOffset(INJECTED_VMCONFIG), "Use loadHubIntrinsic instead of loadWordFromObject"); return loadKlassFromObjectIntrinsic(object, offset, identity, getWordKind()); } /** * Reads the value of a given register. --- 731,741 ---- ReplacementsUtil.staticAssert(offset != hubOffset(INJECTED_VMCONFIG), "Use loadHubIntrinsic instead of loadWordFromObject"); return loadWordFromObjectIntrinsic(object, offset, identity, getWordKind()); } public static KlassPointer loadKlassFromObject(Object object, int offset, LocationIdentity identity) { ! ReplacementsUtil.staticAssert(offset != hubOffset(INJECTED_VMCONFIG), "Use loadHubIntrinsic instead of loadKlassFromObject"); return loadKlassFromObjectIntrinsic(object, offset, identity, getWordKind()); } /** * Reads the value of a given register.
< prev index next >