[prev in list] [next in list] [prev in thread] [next in thread]
List: avro-commits
Subject: svn commit: r1478244 - in /avro/trunk: CHANGES.txt lang/java/avro/src/main/java/org/apache/avro/refl
From: scottcarey () apache ! org
Date: 2013-05-02 1:01:48
Message-ID: 20130502010148.A6F79238889B () eris ! apache ! org
[Download RAW message or body]
Author: scottcarey
Date: Thu May 2 01:01:47 2013
New Revision: 1478244
URL: http://svn.apache.org/r1478244
Log:
AVRO-1313. Java: Add system property avro.disable.unsafe for disabling
use of sun.misc.Unsafe.
Modified:
avro/trunk/CHANGES.txt
avro/trunk/lang/java/avro/src/main/java/org/apache/avro/reflect/FieldAccessReflect.java
avro/trunk/lang/java/avro/src/main/java/org/apache/avro/reflect/ReflectionUtil.java
Modified: avro/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/avro/trunk/CHANGES.txt?rev=1478244&r1=1478243&r2=1478244&view=diff
==============================================================================
--- avro/trunk/CHANGES.txt (original)
+++ avro/trunk/CHANGES.txt Thu May 2 01:01:47 2013
@@ -42,6 +42,9 @@ Trunk (not yet released)
AVRO-1282. Java: Use sun.misc.Unsafe to improve Reflect API Performance.
(Leo Romanoff via scottcarey)
+ AVRO-1313. Java: Add system property avro.disable.unsafe for disabling
+ use of sun.misc.Unsafe. (scottcarey)
+
BUG FIXES
AVRO-1296. Python: Fix schemas retrieved from protocol types
Modified: avro/trunk/lang/java/avro/src/main/java/org/apache/avro/reflect/FieldAccessReflect.java
URL: http://svn.apache.org/viewvc/avro/trunk/lang/java/avro/src/main/java/org/apache/avro/reflect/FieldAccessReflect.java?rev=1478244&r1=1478243&r2=1478244&view=diff
==============================================================================
--- avro/trunk/lang/java/avro/src/main/java/org/apache/avro/reflect/FieldAccessReflect.java \
(original)
+++ avro/trunk/lang/java/avro/src/main/java/org/apache/avro/reflect/FieldAccessReflect.java \
Thu May 2 01:01:47 2013 @@ -32,6 +32,7 @@ class FieldAccessReflect extends FieldAc
public ReflectionBasedAccessor(Field field) {
this.field = field;
+ this.field.setAccessible(true);
}
@Override
Modified: avro/trunk/lang/java/avro/src/main/java/org/apache/avro/reflect/ReflectionUtil.java
URL: http://svn.apache.org/viewvc/avro/trunk/lang/java/avro/src/main/java/org/apache/avro/reflect/ReflectionUtil.java?rev=1478244&r1=1478243&r2=1478244&view=diff
==============================================================================
--- avro/trunk/lang/java/avro/src/main/java/org/apache/avro/reflect/ReflectionUtil.java \
(original)
+++ avro/trunk/lang/java/avro/src/main/java/org/apache/avro/reflect/ReflectionUtil.java \
Thu May 2 01:01:47 2013 @@ -39,10 +39,12 @@ class ReflectionUtil {
// so it is monomorphic and the JIT can inline
FieldAccess access = null;
try {
- FieldAccess unsafeAccess = load(
- "org.apache.avro.reflect.FieldAccessUnsafe", FieldAccess.class);
- if (validate(unsafeAccess)) {
- access = unsafeAccess;
+ if (null == System.getProperty("avro.disable.unsafe")) {
+ FieldAccess unsafeAccess = load(
+ "org.apache.avro.reflect.FieldAccessUnsafe", FieldAccess.class);
+ if (validate(unsafeAccess)) {
+ access = unsafeAccess;
+ }
}
} catch (Throwable ignored) {
}
@@ -75,9 +77,9 @@ class ReflectionUtil {
}
private static final class AccessorTestClass {
- boolean b = true;
- byte by = 0xf;
- char c = 'c';
+ private boolean b = true;
+ protected byte by = 0xf;
+ public char c = 'c';
short s = 123;
int i = 999;
long l = 12345L;
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic