mirror of
https://github.com/corda/corda.git
synced 2024-12-28 16:58:55 +00:00
bugfixes
This commit is contained in:
parent
ab3ca38580
commit
d0e519d992
@ -204,7 +204,11 @@ public class ObjectInputStream extends InputStream {
|
||||
for (Field f: c.getFields()) {
|
||||
int modifiers = f.getModifiers();
|
||||
if ((modifiers & (Modifier.TRANSIENT | Modifier.STATIC)) == 0) {
|
||||
f.set(o, deserialize(map));
|
||||
try {
|
||||
f.set(o, deserialize(map));
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -155,7 +155,14 @@ public class ObjectOutputStream extends OutputStream {
|
||||
int modifiers = f.getModifiers();
|
||||
if ((modifiers & (Modifier.TRANSIENT | Modifier.STATIC)) == 0) {
|
||||
out.print(" ");
|
||||
Object v = f.get(o);
|
||||
Object v;
|
||||
|
||||
try {
|
||||
v = f.get(o);
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
|
||||
Class t = f.getType();
|
||||
if (t.equals(boolean.class)) {
|
||||
writeBoolean((Boolean) v);
|
||||
|
@ -53,8 +53,8 @@ public class HashMap<K, V> implements Map<K, V> {
|
||||
for (Cell<K, V> c = array[i]; c != null; c = next) {
|
||||
next = c.next();
|
||||
int index = c.hashCode() & (capacity - 1);
|
||||
c.setNext(array[index]);
|
||||
array[index] = c;
|
||||
c.setNext(newArray[index]);
|
||||
newArray[index] = c;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -127,8 +127,7 @@ public class LinkedList<T> implements List<T> {
|
||||
public T removeFirst() {
|
||||
if (front != null) {
|
||||
T v = front.value;
|
||||
front = front.next;
|
||||
if (front != null) front.prev = null;
|
||||
remove(front);
|
||||
return v;
|
||||
} else {
|
||||
throw new NoSuchElementException();
|
||||
@ -138,8 +137,7 @@ public class LinkedList<T> implements List<T> {
|
||||
public T removeLast() {
|
||||
if (rear != null) {
|
||||
T v = rear.value;
|
||||
rear = rear.prev;
|
||||
if (rear != null) rear.next = null;
|
||||
remove(rear);
|
||||
return v;
|
||||
} else {
|
||||
throw new NoSuchElementException();
|
||||
|
@ -627,16 +627,16 @@ Throwable_trace(Thread* t, jclass, jint skipCount)
|
||||
frame = frameNext(t, frame);
|
||||
}
|
||||
|
||||
if (methodClass(t, frameMethod(t, frame))
|
||||
== arrayBody(t, t->vm->types, Machine::ThrowableType))
|
||||
// skip Throwable constructors
|
||||
while (frame >= 0
|
||||
and isAssignableFrom
|
||||
(t, arrayBody(t, t->vm->types, Machine::ThrowableType),
|
||||
methodClass(t, frameMethod(t, frame)))
|
||||
and strcmp(reinterpret_cast<const int8_t*>("<init>"),
|
||||
&byteArrayBody(t, methodName(t, frameMethod(t, frame)), 0))
|
||||
== 0)
|
||||
{
|
||||
// skip Throwable constructors
|
||||
while (strcmp(reinterpret_cast<const int8_t*>("<init>"),
|
||||
&byteArrayBody(t, methodName(t, frameMethod(t, frame)), 0))
|
||||
== 0)
|
||||
{
|
||||
frame = frameNext(t, frame);
|
||||
}
|
||||
frame = frameNext(t, frame);
|
||||
}
|
||||
|
||||
return pushReference(t, makeTrace(t, frame));
|
||||
|
@ -271,8 +271,7 @@ postVisit(Thread* t, Heap::Visitor* v)
|
||||
if (m->heap->status(*p) == Heap::Unreachable) {
|
||||
// reference is unreachable
|
||||
referenceUnreachable(t, p, v);
|
||||
} else if (jreferenceTarget(t, *p) == 0
|
||||
or m->heap->status(jreferenceTarget(t, *p))
|
||||
} else if (m->heap->status(jreferenceTarget(t, *p))
|
||||
== Heap::Unreachable)
|
||||
{
|
||||
// target is unreachable
|
||||
@ -318,8 +317,7 @@ postVisit(Thread* t, Heap::Visitor* v)
|
||||
if (m->heap->status(*p) == Heap::Unreachable) {
|
||||
// reference is unreachable
|
||||
referenceUnreachable(t, p, v);
|
||||
} else if (jreferenceTarget(t, *p) == 0
|
||||
or m->heap->status(jreferenceTarget(t, *p))
|
||||
} else if (m->heap->status(jreferenceTarget(t, *p))
|
||||
== Heap::Unreachable)
|
||||
{
|
||||
// target is unreachable
|
||||
|
Loading…
Reference in New Issue
Block a user