# HG changeset patch # User Doug Simon # Date 1341864732 -7200 # Node ID af9ad0e0452db03c31eeffb6b9b90db4aac44a56 # Parent 6c80d73cf81af3cec9cd876e4c6bed67e04e0d25 use more efficient Unsafe API for getting array base and index values diff -r 6c80d73cf81a -r af9ad0e0452d graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/counters/MethodEntryCounters.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/counters/MethodEntryCounters.java Mon Jul 09 22:09:36 2012 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/counters/MethodEntryCounters.java Mon Jul 09 22:12:12 2012 +0200 @@ -80,8 +80,8 @@ @Override public void emitCode(TargetMethodAssembler tasm, AMD64MacroAssembler masm) { int start = masm.codeBuffer.position(); - int off = Unsafe.getUnsafe().arrayBaseOffset(long[].class); - int scale = Unsafe.getUnsafe().arrayIndexScale(long[].class); + int off = Unsafe.ARRAY_LONG_BASE_OFFSET; + int scale = Unsafe.ARRAY_LONG_INDEX_SCALE; AMD64Move.move(tasm, masm, counterArr, Constant.forObject(counter.counts)); AMD64Move.load(tasm, masm, callerPc, new Address(Kind.Long, AMD64.rbp.asValue(Kind.Long), 8), null);