protected String getNameFromSymbolInfo(VirtualFrame frame, RList symbol) { if (nameExtract == null) { CompilerDirectives.transferToInterpreterAndInvalidate(); nameExtract = ExtractVectorNode.create(ElementAccessMode.SUBSCRIPT, true); } return RRuntime.asString(nameExtract.applyAccessField(frame, symbol, "name")); }
protected long getAddressFromSymbolInfo(VirtualFrame frame, RList symbol) { if (addressExtract == null) { CompilerDirectives.transferToInterpreterAndInvalidate(); addressExtract = ExtractVectorNode.create(ElementAccessMode.SUBSCRIPT, true); } return ((RExternalPtr) addressExtract.applyAccessField(frame, symbol, "address")).getAddr(); }
@SuppressWarnings("unused") @Specialization protected Object updateLengthError(Object vector, Object lengthVector) { controlVisibility(); CompilerDirectives.transferToInterpreter(); throw RError.error(this, RError.Message.INVALID_UNNAMED_VALUE); }