DefaultVirtualFrame(FrameDescriptor descriptor, Object[] arguments) { this.descriptor = descriptor; this.arguments = arguments; // read size only once final int size = descriptor.getSize(); this.locals = new Object[size]; Arrays.fill(locals, descriptor.getDefaultValue()); this.tags = new byte[size]; }
private boolean resize() { int oldSize = tags.length; int newSize = descriptor.getSize(); if (newSize > oldSize) { locals = Arrays.copyOf(locals, newSize); Arrays.fill(locals, oldSize, newSize, descriptor.getDefaultValue()); tags = Arrays.copyOf(tags, newSize); return true; } return false; }
private boolean resize() { int oldSize = tags.length; int newSize = descriptor.getSize(); if (newSize > oldSize) { locals = Arrays.copyOf(locals, newSize); Arrays.fill(locals, oldSize, newSize, descriptor.getDefaultValue()); tags = Arrays.copyOf(tags, newSize); return true; } return false; }
public FrameWithBoxing(FrameDescriptor descriptor, Object[] arguments) { this.descriptor = descriptor; this.arguments = arguments; int size = descriptor.getSize(); if (size == 0) { this.locals = EMPTY_OBJECT_ARRAY; } else { this.locals = new Object[size]; Object defaultValue = descriptor.getDefaultValue(); if (defaultValue != null) { Arrays.fill(locals, defaultValue); } } }
private boolean resize() { int oldSize = tags.length; int newSize = descriptor.getSize(); if (newSize > oldSize) { locals = Arrays.copyOf(locals, newSize); Arrays.fill(locals, oldSize, newSize, descriptor.getDefaultValue()); tags = Arrays.copyOf(tags, newSize); return true; } return false; }
private boolean resize() { int oldSize = locals.length; int newSize = descriptor.getSize(); if (newSize > oldSize) { locals = Arrays.copyOf(locals, newSize); Arrays.fill(locals, oldSize, newSize, descriptor.getDefaultValue()); return true; } return false; }
private boolean resize() { int oldSize = tags.length; int newSize = descriptor.getSize(); if (newSize > oldSize) { locals = Arrays.copyOf(locals, newSize); Arrays.fill(locals, oldSize, newSize, descriptor.getDefaultValue()); primitiveLocals = Arrays.copyOf(primitiveLocals, newSize); tags = Arrays.copyOf(tags, newSize); return true; } return false; }
public FrameWithoutBoxing(FrameDescriptor descriptor, Object[] arguments) { this.descriptor = descriptor; this.arguments = arguments; int size = descriptor.getSize(); if (size == 0) { this.locals = EMPTY_OBJECT_ARRAY; this.primitiveLocals = EMPTY_LONG_ARRAY; this.tags = EMPTY_BYTE_ARRAY; } else { this.locals = new Object[size]; Object defaultValue = descriptor.getDefaultValue(); if (defaultValue != null) { Arrays.fill(locals, defaultValue); } this.primitiveLocals = new long[size]; this.tags = new byte[size]; } }
DefaultVirtualFrame(FrameDescriptor descriptor, Object[] arguments) { this.descriptor = descriptor; this.arguments = arguments; this.locals = new Object[descriptor.getSize()]; Arrays.fill(locals, descriptor.getDefaultValue()); this.tags = new byte[descriptor.getSize()]; }
DefaultVirtualFrame(FrameDescriptor descriptor, Object[] arguments) { this.descriptor = descriptor; this.arguments = arguments; this.locals = new Object[descriptor.getSize()]; Arrays.fill(locals, descriptor.getDefaultValue()); this.tags = new byte[descriptor.getSize()]; }
private static void clearFrame(MaterializedFrame frame) { FrameDescriptor descriptor = frame.getFrameDescriptor(); Object value = descriptor.getDefaultValue(); for (FrameSlot slot : descriptor.getSlots()) { frame.setObject(slot, value); } }
private static void clearFrame(RootNode root, MaterializedFrame frame) { FrameDescriptor descriptor = frame.getFrameDescriptor(); if (root.getFrameDescriptor() == descriptor) { // Clear only those frames that correspond to the current root Object value = descriptor.getDefaultValue(); for (FrameSlot slot : descriptor.getSlots()) { frame.setObject(slot, value); } } }