Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(65)

Side by Side Diff: runtime/vm/dart_entry.h

Issue 12315087: Hook up simulator (if needed) when calling Dart code. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 7 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « runtime/vm/dart_api_impl.cc ('k') | runtime/vm/dart_entry.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 VM_DART_ENTRY_H_ 5 #ifndef VM_DART_ENTRY_H_
6 #define VM_DART_ENTRY_H_ 6 #define 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 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
98 // DartEntry abstracts functionality needed to resolve dart functions 98 // DartEntry abstracts functionality needed to resolve dart functions
99 // and invoke them from C++. 99 // and invoke them from C++.
100 class DartEntry : public AllStatic { 100 class DartEntry : public AllStatic {
101 public: 101 public:
102 // On success, returns a RawInstance. On failure, a RawError. 102 // On success, returns a RawInstance. On failure, a RawError.
103 typedef RawObject* (*invokestub)(uword entry_point, 103 typedef RawObject* (*invokestub)(uword entry_point,
104 const Array& arguments_descriptor, 104 const Array& arguments_descriptor,
105 const Array& arguments, 105 const Array& arguments,
106 const Context& context); 106 const Context& context);
107 107
108 // Invokes the specified instance function on the receiver. 108 // Invokes the specified instance function or static function.
109 // The first argument of an instance function is the receiver.
109 // On success, returns a RawInstance. On failure, a RawError. 110 // On success, returns a RawInstance. On failure, a RawError.
110 // This is used when there are no named arguments in the call. 111 // This is used when there are no named arguments in the call.
111 static RawObject* InvokeDynamic(const Function& function, 112 static RawObject* InvokeFunction(const Function& function,
112 const Array& arguments); 113 const Array& arguments);
113 114
114 // Invokes the specified instance function on the receiver. 115 // Invokes the specified instance or static function.
115 // On success, returns a RawInstance. On failure, a RawError. 116 // On success, returns a RawInstance. On failure, a RawError.
116 static RawObject* InvokeDynamic(const Function& function, 117 static RawObject* InvokeFunction(const Function& function,
117 const Array& arguments, 118 const Array& arguments,
119 const Array& arguments_descriptor);
120
121 // Invokes the specified instance, static, or closure function.
122 // On success, returns a RawInstance. On failure, a RawError.
123 static RawObject* InvokeFunction(const Function& function,
124 const Array& arguments,
125 const Array& arguments_descriptor,
126 const Context& context);
127
128 // Invokes the closure object given as the first argument.
129 // On success, returns a RawInstance. On failure, a RawError.
130 // This is used when there are no named arguments in the call.
131 static RawObject* InvokeClosure(const Array& arguments);
132
133 // Invokes the closure object given as the first argument.
134 // On success, returns a RawInstance. On failure, a RawError.
135 static RawObject* InvokeClosure(const Array& arguments,
118 const Array& arguments_descriptor); 136 const Array& arguments_descriptor);
119 137
120 // Invoke the specified static function. 138 // Invokes the noSuchMethod instance function on the receiver.
121 // On success, returns a RawInstance. On failure, a RawError.
122 // This is used when there are no named arguments in the call.
123 static RawObject* InvokeStatic(const Function& function,
124 const Array& arguments);
125
126 // Invoke the specified static function.
127 // On success, returns a RawInstance. On failure, a RawError.
128 static RawObject* InvokeStatic(const Function& function,
129 const Array& arguments,
130 const Array& arguments_descriptor);
131
132 // Invoke the specified closure object.
133 // On success, returns a RawInstance. On failure, a RawError.
134 // This is used when there are no named arguments in the call.
135 static RawObject* InvokeClosure(const Instance& closure,
136 const Array& arguments);
137
138 // Invoke the specified closure object.
139 // On success, returns a RawInstance. On failure, a RawError.
140 static RawObject* InvokeClosure(const Instance& closure,
141 const Array& arguments,
142 const Array& arguments_descriptor);
143
144 // Invoke the noSuchMethod instance function on the receiver.
145 // On success, returns a RawInstance. On failure, a RawError. 139 // On success, returns a RawInstance. On failure, a RawError.
146 static RawObject* InvokeNoSuchMethod(const Instance& receiver, 140 static RawObject* InvokeNoSuchMethod(const Instance& receiver,
147 const String& target_name, 141 const String& target_name,
148 const Array& arguments, 142 const Array& arguments,
149 const Array& arguments_descriptor); 143 const Array& arguments_descriptor);
150 }; 144 };
151 145
152 146
153 // Utility functions to call from VM into Dart bootstrap libraries. 147 // Utility functions to call from VM into Dart bootstrap libraries.
154 // Each may return an exception object. 148 // Each may return an exception object.
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
187 181
188 // Gets the _id field of a SendPort/ReceivePort. 182 // Gets the _id field of a SendPort/ReceivePort.
189 // 183 //
190 // Returns the value of _id on success, a RawError on failure. 184 // Returns the value of _id on success, a RawError on failure.
191 static RawObject* PortGetId(const Instance& port); 185 static RawObject* PortGetId(const Instance& port);
192 }; 186 };
193 187
194 } // namespace dart 188 } // namespace dart
195 189
196 #endif // VM_DART_ENTRY_H_ 190 #endif // VM_DART_ENTRY_H_
OLDNEW
« no previous file with comments | « runtime/vm/dart_api_impl.cc ('k') | runtime/vm/dart_entry.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698