# HG changeset patch # User Doug Simon # Date 1365606628 -7200 # Node ID 68d07bea21b84d50949a65bb0eaa652ca4cbda14 # Parent 02630437264ee46306be469779e04c0c426db0f4# Parent 1c77db9ba06409cd97ca5037bb53886d136b92c9 Merge. diff -r 02630437264e -r 68d07bea21b8 graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/WriteBarrierSnippets.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/WriteBarrierSnippets.java Wed Apr 10 17:09:52 2013 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/WriteBarrierSnippets.java Wed Apr 10 17:10:28 2013 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -62,15 +62,15 @@ } @Snippet - public static void serialArrayRangeWriteBarrier(@Parameter("dstObject") Object destinationObject, @Parameter("destPos") int destinationStartingIndex, @Parameter("length") int length) { - Object dest = FixedValueAnchorNode.getObject(destinationObject); + public static void serialArrayRangeWriteBarrier(@Parameter("object") Object object, @Parameter("startIndex") int startIndex, @Parameter("length") int length) { + Object dest = FixedValueAnchorNode.getObject(object); int cardShift = cardTableShift(); long cardStart = cardTableStart(); final int scale = arrayIndexScale(Kind.Object); int header = arrayBaseOffset(Kind.Object); long dstAddr = GetObjectAddressNode.get(dest); - long start = (dstAddr + header + (long) destinationStartingIndex * scale) >>> cardShift; - long end = (dstAddr + header + ((long) destinationStartingIndex + length - 1) * scale) >>> cardShift; + long start = (dstAddr + header + (long) startIndex * scale) >>> cardShift; + long end = (dstAddr + header + ((long) startIndex + length - 1) * scale) >>> cardShift; long count = end - start + 1; while (count-- > 0) { DirectStoreNode.store((start + cardStart) + count, false, Kind.Boolean); @@ -103,8 +103,8 @@ ResolvedJavaMethod method = serialArrayRangeWriteBarrier; Key key = new Key(method); Arguments arguments = new Arguments(); - arguments.add("dstObject", arrayRangeWriteBarrier.getDestinationObject()); - arguments.add("destPos", arrayRangeWriteBarrier.getDestinationStartingIndex()); + arguments.add("object", arrayRangeWriteBarrier.getObject()); + arguments.add("startIndex", arrayRangeWriteBarrier.getStartIndex()); arguments.add("length", arrayRangeWriteBarrier.getLength()); SnippetTemplate template = cache.get(key); template.instantiate(runtime, arrayRangeWriteBarrier, DEFAULT_REPLACER, arguments); diff -r 02630437264e -r 68d07bea21b8 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/SerialArrayRangeWriteBarrier.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/SerialArrayRangeWriteBarrier.java Wed Apr 10 17:09:52 2013 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/SerialArrayRangeWriteBarrier.java Wed Apr 10 17:10:28 2013 +0200 @@ -27,26 +27,26 @@ public final class SerialArrayRangeWriteBarrier extends FixedWithNextNode implements Lowerable { - @Input private ValueNode destinationObject; - @Input private ValueNode destinationStartingIndex; + @Input private ValueNode object; + @Input private ValueNode startIndex; @Input private ValueNode length; - public ValueNode getDestinationObject() { - return destinationObject; + public ValueNode getObject() { + return object; } - public ValueNode getDestinationStartingIndex() { - return destinationStartingIndex; + public ValueNode getStartIndex() { + return startIndex; } public ValueNode getLength() { return length; } - public SerialArrayRangeWriteBarrier(ValueNode destinationObject, ValueNode destinationStartingIndex, ValueNode length) { + public SerialArrayRangeWriteBarrier(ValueNode object, ValueNode startIndex, ValueNode length) { super(StampFactory.forVoid()); - this.destinationObject = destinationObject; - this.destinationStartingIndex = destinationStartingIndex; + this.object = object; + this.startIndex = startIndex; this.length = length; }