You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by jb...@apache.org on 2014/05/08 23:45:10 UTC
[2/3] git commit: prefer MemoryUtil.getByteBuffer to JNA
Native.getDirectByteBuffer; specify native endian on the former patch by bes;
reviewed by jbellis for CASSANDRA-6575
prefer MemoryUtil.getByteBuffer to JNA Native.getDirectByteBuffer; specify native endian on the former
patch by bes; reviewed by jbellis for CASSANDRA-6575
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/1ac72f63
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/1ac72f63
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/1ac72f63
Branch: refs/heads/trunk
Commit: 1ac72f637cdfc9876d2d121302061e46ac104bf8
Parents: 0b26c77
Author: Jonathan Ellis <jb...@apache.org>
Authored: Thu May 8 16:44:35 2014 -0500
Committer: Jonathan Ellis <jb...@apache.org>
Committed: Thu May 8 16:44:35 2014 -0500
----------------------------------------------------------------------
src/java/org/apache/cassandra/io/util/Memory.java | 5 +++--
src/java/org/apache/cassandra/utils/memory/MemoryUtil.java | 1 +
2 files changed, 4 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/1ac72f63/src/java/org/apache/cassandra/io/util/Memory.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/io/util/Memory.java b/src/java/org/apache/cassandra/io/util/Memory.java
index b8a46bc..67dee81 100644
--- a/src/java/org/apache/cassandra/io/util/Memory.java
+++ b/src/java/org/apache/cassandra/io/util/Memory.java
@@ -22,6 +22,7 @@ import java.nio.ByteOrder;
import com.sun.jna.Native;
import org.apache.cassandra.config.DatabaseDescriptor;
+import org.apache.cassandra.utils.memory.MemoryUtil;
import sun.misc.Unsafe;
import sun.nio.ch.DirectBuffer;
@@ -329,10 +330,10 @@ public class Memory
int size = (int) (size() / result.length);
for (int i = 0 ; i < result.length - 1 ; i++)
{
- result[i] = Native.getDirectByteBuffer(peer + offset, size);
+ result[i] = MemoryUtil.getByteBuffer(peer + offset, size);
offset += size;
}
- result[result.length - 1] = Native.getDirectByteBuffer(peer + offset, (int) (size() - offset));
+ result[result.length - 1] = MemoryUtil.getByteBuffer(peer + offset, (int) (size() - offset));
return result;
}
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/cassandra/blob/1ac72f63/src/java/org/apache/cassandra/utils/memory/MemoryUtil.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/utils/memory/MemoryUtil.java b/src/java/org/apache/cassandra/utils/memory/MemoryUtil.java
index 5f7d410..532d071 100644
--- a/src/java/org/apache/cassandra/utils/memory/MemoryUtil.java
+++ b/src/java/org/apache/cassandra/utils/memory/MemoryUtil.java
@@ -125,6 +125,7 @@ public abstract class MemoryUtil
unsafe.putLong(instance, DIRECT_BYTE_BUFFER_ADDRESS_OFFSET, address);
unsafe.putInt(instance, DIRECT_BYTE_BUFFER_CAPACITY_OFFSET, length);
unsafe.putInt(instance, DIRECT_BYTE_BUFFER_LIMIT_OFFSET, length);
+ instance.order(ByteOrder.nativeOrder());
return instance;
}