Mercurial > hg > truffle
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 } |