From 6d61fd8c514da160834acc835fc9c5f4d32c9b39 Mon Sep 17 00:00:00 2001 From: Lukas Stadler <lukas.stadler@oracle.com> Date: Thu, 6 Oct 2016 13:46:12 +0200 Subject: [PATCH] simplification in UpdateField --- .../r/nodes/builtin/base/infix/UpdateField.java | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/infix/UpdateField.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/infix/UpdateField.java index 832d5fb8da..11f19dfcf2 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/infix/UpdateField.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/infix/UpdateField.java @@ -58,15 +58,12 @@ public abstract class UpdateField extends RBuiltinNode { @Specialization protected Object update(VirtualFrame frame, Object container, String field, Object value) { - Object updatedObject = container; - if (!coerceList.profile(container instanceof RAbstractListVector)) { - updatedObject = coerceList(container, updatedObject); - } - return extract.apply(frame, updatedObject, new Object[]{field}, value); + Object list = coerceList.profile(container instanceof RAbstractListVector) ? container : coerceList(container); + return extract.apply(frame, list, new Object[]{field}, value); } - private Object coerceList(Object object, Object vector) { - if (object instanceof RAbstractVector) { + private Object coerceList(Object vector) { + if (vector instanceof RAbstractVector) { if (castList == null) { CompilerDirectives.transferToInterpreterAndInvalidate(); castList = insert(CastListNodeGen.create(true, true, false)); -- GitLab