List<Long> getReferences() { byte flags = getFlags(); long ref = getReferencesPointer(); if ((flags & NUMBER_LIST) == 0) { if (ref == 0L) { return Collections.<Long>emptyList(); } else { return Collections.singletonList(new Long(ref)); } } else { try { return referenceList.getNumbers(ref); } catch (IOException ex) { ex.printStackTrace(); } } return Collections.<Long>emptyList(); }
long getNearestGCRootPointer() { try { byte flag = getFlags(); if ((flag & GC_ROOT) != 0) { // has GC root pointer long ref = getReferencesPointer(); if ((flag & NUMBER_LIST) != 0) { // get GC root pointer from number list return referenceList.getFirstNumber(ref); } return ref; } } catch (IOException ex) { ex.printStackTrace(); } return 0L; }
void setNearestGCRootPointer(long instanceId) { byte flags = (byte)(getFlags() | GC_ROOT); setFlags(flags); if ((flags & NUMBER_LIST) != 0) { // put GC root pointer on the first place in references list try { referenceList.putFirst(getReferencesPointer(),instanceId); } catch (IOException ex) { ex.printStackTrace(); } } }
void addReference(long instanceId) { try { byte flags = getFlags(); long ref = getReferencesPointer(); if ((flags & NUMBER_LIST) == 0) { // reference list is not used if (ref == 0L) { // no reference was set setReferencesPointer(instanceId); } else if (ref != instanceId) { // one reference was set, switch to reference list setFlags((byte)(flags | NUMBER_LIST)); long list = referenceList.addFirstNumber(ref,instanceId); setReferencesPointer(list); } } else { // use reference list long newRef = referenceList.addNumber(ref,instanceId); if (newRef != ref) { setReferencesPointer(newRef); } } } catch (IOException ex) { ex.printStackTrace(); } }
List<Long> getReferences() { byte flags = getFlags(); long ref = getReferencesPointer(); if ((flags & NUMBER_LIST) == 0) { if (ref == 0L) { return Collections.<Long>emptyList(); } else { return Collections.singletonList(new Long(ref)); } } else { try { return referenceList.getNumbers(ref); } catch (IOException ex) { ex.printStackTrace(); } } return Collections.<Long>emptyList(); }
List getReferences() { byte flags = getFlags(); long ref = getReferencesPointer(); if ((flags & NUMBER_LIST) == 0) { if (ref == 0L) { return Collections.EMPTY_LIST; } else { return Collections.singletonList(new Long(ref)); } } else { try { return referenceList.getNumbers(ref); } catch (IOException ex) { ex.printStackTrace(); } } return Collections.EMPTY_LIST; }
long getNearestGCRootPointer() { try { byte flag = getFlags(); if ((flag & GC_ROOT) != 0) { // has GC root pointer long ref = getReferencesPointer(); if ((flag & NUMBER_LIST) != 0) { // get GC root pointer from number list return referenceList.getFirstNumber(ref); } return ref; } } catch (IOException ex) { ex.printStackTrace(); } return 0L; }
long getNearestGCRootPointer() { try { byte flag = getFlags(); if ((flag & GC_ROOT) != 0) { // has GC root pointer long ref = getReferencesPointer(); if ((flag & NUMBER_LIST) != 0) { // get GC root pointer from number list return referenceList.getFirstNumber(ref); } return ref; } } catch (IOException ex) { ex.printStackTrace(); } return 0L; }
boolean isTreeObj() { return (getFlags() & TREE_OBJ) != 0; }
boolean isTreeObj() { return (getFlags() & TREE_OBJ) != 0; }
void setTreeObj() { byte flags = (byte)(getFlags() | TREE_OBJ); setFlags(flags); }
void setTreeObj() { byte flags = (byte)(getFlags() | TREE_OBJ); setFlags(flags); }
boolean hasOnlyOneReference() { return (getFlags() & NUMBER_LIST) == 0; }
boolean hasOnlyOneReference() { return (getFlags() & NUMBER_LIST) == 0; }
void setNearestGCRootPointer(long instanceId) { byte flags = (byte)(getFlags() | GC_ROOT); setFlags(flags); if ((flags & NUMBER_LIST) != 0) { // put GC root pointer on the first place in references list try { referenceList.putFirst(getReferencesPointer(),instanceId); } catch (IOException ex) { ex.printStackTrace(); } } }
void setNearestGCRootPointer(long instanceId) { byte flags = (byte)(getFlags() | GC_ROOT); setFlags(flags); if ((flags & NUMBER_LIST) != 0) { // put GC root pointer on the first place in references list try { referenceList.putFirst(getReferencesPointer(),instanceId); } catch (IOException ex) { ex.printStackTrace(); } } }
void addReference(long instanceId) { try { byte flags = getFlags(); long ref = getReferencesPointer(); if ((flags & NUMBER_LIST) == 0) { // reference list is not used if (ref == 0L) { // no reference was set setReferencesPointer(instanceId); } else if (ref != instanceId) { // one reference was set, switch to reference list setFlags((byte)(flags | NUMBER_LIST)); long list = referenceList.addFirstNumber(ref,instanceId); setReferencesPointer(list); } } else { // use reference list long newRef = referenceList.addNumber(ref,instanceId); if (newRef != ref) { setReferencesPointer(newRef); } } } catch (IOException ex) { ex.printStackTrace(); } }
boolean hasOnlyOneReference() { return (getFlags() & NUMBER_LIST) == 0; }
boolean isTreeObj() { return (getFlags() & TREE_OBJ) != 0; }
void setTreeObj() { byte flags = (byte)(getFlags() | TREE_OBJ); setFlags(flags); }