Mercurial > hg > graal-jvmci-8
comparison graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/call/SLGenericDispatchNode.java @ 13821:b16ec83edc73
Documentation and more refactoring of Simple Language
author | Christian Wimmer <christian.wimmer@oracle.com> |
---|---|
date | Wed, 29 Jan 2014 20:45:43 -0800 |
parents | 7c418666c6c9 |
children | 64dcb92ee75a |
comparison
equal
deleted
inserted
replaced
13820:20e7727588e8 | 13821:b16ec83edc73 |
---|---|
1 /* | 1 /* |
2 * Copyright (c) 2013, 2013, Oracle and/or its affiliates. All rights reserved. | 2 * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. | 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 * | 4 * |
5 * This code is free software; you can redistribute it and/or modify it | 5 * This code is free software; you can redistribute it and/or modify it |
6 * under the terms of the GNU General Public License version 2 only, as | 6 * under the terms of the GNU General Public License version 2 only, as |
7 * published by the Free Software Foundation. | 7 * published by the Free Software Foundation. |
23 package com.oracle.truffle.sl.nodes.call; | 23 package com.oracle.truffle.sl.nodes.call; |
24 | 24 |
25 import com.oracle.truffle.api.frame.*; | 25 import com.oracle.truffle.api.frame.*; |
26 import com.oracle.truffle.sl.runtime.*; | 26 import com.oracle.truffle.sl.runtime.*; |
27 | 27 |
28 /** | |
29 * Slow-path code for a call, used when the polymorphic inline cache exceeded its maximum size. Such | |
30 * calls are not optimized any further, e.g., no method inlining is performed. | |
31 */ | |
28 final class SLGenericDispatchNode extends SLAbstractDispatchNode { | 32 final class SLGenericDispatchNode extends SLAbstractDispatchNode { |
29 | 33 |
30 @Override | 34 @Override |
31 protected Object executeCall(VirtualFrame frame, SLFunction function, SLArguments arguments) { | 35 protected Object executeDispatch(VirtualFrame frame, SLFunction function, SLArguments arguments) { |
36 /* | |
37 * SL has a quite simple call lookup: just ask the function for the current call target, and | |
38 * call it. | |
39 */ | |
32 return function.getCallTarget().call(frame.pack(), arguments); | 40 return function.getCallTarget().call(frame.pack(), arguments); |
33 } | 41 } |
34 } | 42 } |