You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by sb...@apache.org on 2015/12/09 08:36:56 UTC
[30/50] [abbrv] ignite git commit: HashMap's offset retrieval in
HashSet class definition for legacy IBM JRE
HashMap's offset retrieval in HashSet class definition for legacy IBM JRE
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/c0775220
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/c0775220
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/c0775220
Branch: refs/heads/ignite-1.5.1
Commit: c077522038d050aac35ce034cc86d9af7959ebd5
Parents: ebddcb1
Author: Denis Magda <dm...@gridgain.com>
Authored: Mon Dec 7 20:52:00 2015 +0300
Committer: Denis Magda <dm...@gridgain.com>
Committed: Mon Dec 7 20:52:00 2015 +0300
----------------------------------------------------------------------
.../optimized/OptimizedMarshallerUtils.java | 16 +++++++++++++---
1 file changed, 13 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/c0775220/modules/core/src/main/java/org/apache/ignite/marshaller/optimized/OptimizedMarshallerUtils.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/marshaller/optimized/OptimizedMarshallerUtils.java b/modules/core/src/main/java/org/apache/ignite/marshaller/optimized/OptimizedMarshallerUtils.java
index 4d6afe6..da92b90 100644
--- a/modules/core/src/main/java/org/apache/ignite/marshaller/optimized/OptimizedMarshallerUtils.java
+++ b/modules/core/src/main/java/org/apache/ignite/marshaller/optimized/OptimizedMarshallerUtils.java
@@ -155,12 +155,22 @@ class OptimizedMarshallerUtils {
static final JdkMarshaller JDK_MARSH = new JdkMarshaller();
static {
+ long mapOff;
+
try {
- HASH_SET_MAP_OFF = UNSAFE.objectFieldOffset(HashSet.class.getDeclaredField("map"));
+ mapOff = UNSAFE.objectFieldOffset(HashSet.class.getDeclaredField("map"));
}
catch (NoSuchFieldException e) {
- throw new IgniteException("Initialization failure.", e);
+ try {
+ // Workaround for legacy IBM JRE.
+ mapOff = UNSAFE.objectFieldOffset(HashSet.class.getDeclaredField("backingMap"));
+ }
+ catch (NoSuchFieldException e2) {
+ throw new IgniteException("Initialization failure.", e2);
+ }
}
+
+ HASH_SET_MAP_OFF = mapOff;
}
/**
@@ -537,4 +547,4 @@ class OptimizedMarshallerUtils {
static void setObject(Object obj, long off, Object val) {
UNSAFE.putObject(obj, off, val);
}
-}
\ No newline at end of file
+}