OLD | NEW |
1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 #ifndef RUNTIME_VM_DART_ENTRY_H_ | 5 #ifndef RUNTIME_VM_DART_ENTRY_H_ |
6 #define RUNTIME_VM_DART_ENTRY_H_ | 6 #define RUNTIME_VM_DART_ENTRY_H_ |
7 | 7 |
8 #include "vm/allocation.h" | 8 #include "vm/allocation.h" |
9 #include "vm/growable_array.h" | 9 #include "vm/growable_array.h" |
10 | 10 |
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
119 | 119 |
120 // Invokes the specified instance function or static function. | 120 // Invokes the specified instance function or static function. |
121 // The first argument of an instance function is the receiver. | 121 // The first argument of an instance function is the receiver. |
122 // On success, returns a RawInstance. On failure, a RawError. | 122 // On success, returns a RawInstance. On failure, a RawError. |
123 // This is used when there are no named arguments in the call. | 123 // This is used when there are no named arguments in the call. |
124 static RawObject* InvokeFunction(const Function& function, | 124 static RawObject* InvokeFunction(const Function& function, |
125 const Array& arguments); | 125 const Array& arguments); |
126 | 126 |
127 // Invokes the specified instance, static, or closure function. | 127 // Invokes the specified instance, static, or closure function. |
128 // On success, returns a RawInstance. On failure, a RawError. | 128 // On success, returns a RawInstance. On failure, a RawError. |
129 static RawObject* InvokeFunction(const Function& function, | 129 static RawObject* InvokeFunction( |
130 const Array& arguments, | 130 const Function& function, |
131 const Array& arguments_descriptor); | 131 const Array& arguments, |
| 132 const Array& arguments_descriptor, |
| 133 uword current_sp = Thread::GetCurrentStackPointer()); |
132 | 134 |
133 // Invokes the closure object given as the first argument. | 135 // Invokes the closure object given as the first argument. |
134 // On success, returns a RawInstance. On failure, a RawError. | 136 // On success, returns a RawInstance. On failure, a RawError. |
135 // This is used when there are no named arguments in the call. | 137 // This is used when there are no named arguments in the call. |
136 static RawObject* InvokeClosure(const Array& arguments); | 138 static RawObject* InvokeClosure(const Array& arguments); |
137 | 139 |
138 // Invokes the closure object given as the first argument. | 140 // Invokes the closure object given as the first argument. |
139 // On success, returns a RawInstance. On failure, a RawError. | 141 // On success, returns a RawInstance. On failure, a RawError. |
140 static RawObject* InvokeClosure(const Array& arguments, | 142 static RawObject* InvokeClosure(const Array& arguments, |
141 const Array& arguments_descriptor); | 143 const Array& arguments_descriptor); |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
182 // | 184 // |
183 // Returns null on success, a RawError on failure. | 185 // Returns null on success, a RawError on failure. |
184 static RawObject* MapSetAt(const Instance& map, | 186 static RawObject* MapSetAt(const Instance& map, |
185 const Instance& key, | 187 const Instance& key, |
186 const Instance& value); | 188 const Instance& value); |
187 }; | 189 }; |
188 | 190 |
189 } // namespace dart | 191 } // namespace dart |
190 | 192 |
191 #endif // RUNTIME_VM_DART_ENTRY_H_ | 193 #endif // RUNTIME_VM_DART_ENTRY_H_ |
OLD | NEW |