comparison truffle/com.oracle.truffle.api.vm/src/com/oracle/truffle/api/vm/SymbolInvokerImpl.java @ 22502:d2b4fe945c23

Add missing Truffle boundary
author Christian Wimmer <christian.wimmer@oracle.com>
date Wed, 16 Dec 2015 15:32:23 -0800
parents 463c2ea336ab
children
comparison
equal deleted inserted replaced
22501:a63bda98cfdb 22502:d2b4fe945c23
23 * questions. 23 * questions.
24 */ 24 */
25 package com.oracle.truffle.api.vm; 25 package com.oracle.truffle.api.vm;
26 26
27 import com.oracle.truffle.api.CallTarget; 27 import com.oracle.truffle.api.CallTarget;
28 import com.oracle.truffle.api.CompilerDirectives;
28 import com.oracle.truffle.api.Truffle; 29 import com.oracle.truffle.api.Truffle;
29 import com.oracle.truffle.api.TruffleLanguage; 30 import com.oracle.truffle.api.TruffleLanguage;
30 import com.oracle.truffle.api.frame.VirtualFrame; 31 import com.oracle.truffle.api.frame.VirtualFrame;
31 import com.oracle.truffle.api.interop.ForeignAccess; 32 import com.oracle.truffle.api.interop.ForeignAccess;
32 import com.oracle.truffle.api.interop.Message; 33 import com.oracle.truffle.api.interop.Message;
75 76
76 @Override 77 @Override
77 public Object execute(VirtualFrame frame) { 78 public Object execute(VirtualFrame frame) {
78 final Object[] args = frame.getArguments(); 79 final Object[] args = frame.getArguments();
79 if (args.length != argumentLength) { 80 if (args.length != argumentLength) {
81 CompilerDirectives.transferToInterpreterAndInvalidate();
80 throw new ArgumentsMishmashException(); 82 throw new ArgumentsMishmashException();
81 } 83 }
82 Object tmp = ForeignAccess.execute(foreignAccess, frame, function, args); 84 Object tmp = ForeignAccess.execute(foreignAccess, frame, function, args);
83 return convert.convert(frame, tmp); 85 return convert.convert(frame, tmp);
84 } 86 }