More microoptimizations 2!

This commit is contained in:
2025-04-17 11:48:43 +02:00
parent 7dc8f486ea
commit e167c21d40
3 changed files with 55 additions and 63 deletions

View File

@@ -6,30 +6,27 @@ import org.pcollections.PCollection;
import java.util.Collection;
public record RemoteObjectDataWrapper<T extends JDataRemote>(PCollection<JDataRef> refsFrom,
boolean frozen,
T data) implements JDataRefcounted {
public record RemoteObjectDataWrapper<T extends JDataRemote>(
JObjectKey key,
PCollection<JDataRef> refsFrom,
boolean frozen,
T data) implements JDataRefcounted {
public RemoteObjectDataWrapper(T data) {
this(HashTreePSet.empty(), false, data);
this(RemoteObjectMeta.ofDataKey(data.key()), HashTreePSet.empty(), false, data);
}
@Override
public RemoteObjectDataWrapper<T> withRefsFrom(PCollection<JDataRef> refs) {
return new RemoteObjectDataWrapper<>(refs, frozen, data);
return new RemoteObjectDataWrapper<>(key, refs, frozen, data);
}
@Override
public RemoteObjectDataWrapper<T> withFrozen(boolean frozen) {
return new RemoteObjectDataWrapper<>(refsFrom, frozen, data);
return new RemoteObjectDataWrapper<>(key, refsFrom, frozen, data);
}
public RemoteObjectDataWrapper<T> withData(T data) {
return new RemoteObjectDataWrapper<>(refsFrom, frozen, data);
}
@Override
public JObjectKey key() {
return RemoteObjectMeta.ofDataKey(data.key());
return new RemoteObjectDataWrapper<>(key, refsFrom, frozen, data);
}
@Override

View File

@@ -3,11 +3,11 @@ package com.usatiuk.dhfs.jmap;
import com.usatiuk.objects.JData;
import com.usatiuk.objects.JObjectKey;
public record JMapEntry<K extends JMapKey>(JObjectKey holder,
public record JMapEntry<K extends JMapKey>(JObjectKey key,
JObjectKey holder,
K selfKey,
JObjectKey ref) implements JData {
@Override
public JObjectKey key() {
return JMapHelper.makeKey(holder, selfKey);
public JMapEntry(JObjectKey holder, K selfKey, JObjectKey ref) {
this(JMapHelper.makeKey(holder, selfKey), holder, selfKey, ref);
}
}