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

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

Issue 678763004: Make CTX allocatable by the register allocator. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: incorporated latest comments Created 6 years, 1 month 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
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
11 namespace dart { 11 namespace dart {
12 12
13 // Forward declarations. 13 // Forward declarations.
14 class Array; 14 class Array;
15 class Closure; 15 class Closure;
16 class Context;
17 class Function; 16 class Function;
18 class Instance; 17 class Instance;
19 class Integer; 18 class Integer;
20 class Library; 19 class Library;
21 class Object; 20 class Object;
22 class RawArray; 21 class RawArray;
23 class RawInstance; 22 class RawInstance;
24 class RawObject; 23 class RawObject;
25 class RawString; 24 class RawString;
26 class String; 25 class String;
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
96 }; 95 };
97 96
98 97
99 // DartEntry abstracts functionality needed to resolve dart functions 98 // DartEntry abstracts functionality needed to resolve dart functions
100 // and invoke them from C++. 99 // and invoke them from C++.
101 class DartEntry : public AllStatic { 100 class DartEntry : public AllStatic {
102 public: 101 public:
103 // On success, returns a RawInstance. On failure, a RawError. 102 // On success, returns a RawInstance. On failure, a RawError.
104 typedef RawObject* (*invokestub)(uword entry_point, 103 typedef RawObject* (*invokestub)(uword entry_point,
105 const Array& arguments_descriptor, 104 const Array& arguments_descriptor,
106 const Array& arguments, 105 const Array& arguments);
107 const Context& context);
108 106
109 // Invokes the specified instance function or static function. 107 // Invokes the specified instance function or static function.
110 // The first argument of an instance function is the receiver. 108 // The first argument of an instance function is the receiver.
111 // On success, returns a RawInstance. On failure, a RawError. 109 // On success, returns a RawInstance. On failure, a RawError.
112 // This is used when there are no named arguments in the call. 110 // This is used when there are no named arguments in the call.
113 static RawObject* InvokeFunction(const Function& function, 111 static RawObject* InvokeFunction(const Function& function,
114 const Array& arguments); 112 const Array& arguments);
115 113
116 // Invokes the specified instance or static function. 114 // Invokes the specified instance, static, or closure function.
117 // On success, returns a RawInstance. On failure, a RawError. 115 // On success, returns a RawInstance. On failure, a RawError.
118 static RawObject* InvokeFunction(const Function& function, 116 static RawObject* InvokeFunction(const Function& function,
119 const Array& arguments, 117 const Array& arguments,
120 const Array& arguments_descriptor); 118 const Array& arguments_descriptor);
121 119
122 // Invokes the specified instance, static, or closure function.
123 // On success, returns a RawInstance. On failure, a RawError.
124 static RawObject* InvokeFunction(const Function& function,
125 const Array& arguments,
126 const Array& arguments_descriptor,
127 const Context& context);
128
129 // Invokes the closure object given as the first argument. 120 // Invokes the closure object given as the first argument.
130 // On success, returns a RawInstance. On failure, a RawError. 121 // On success, returns a RawInstance. On failure, a RawError.
131 // This is used when there are no named arguments in the call. 122 // This is used when there are no named arguments in the call.
132 static RawObject* InvokeClosure(const Array& arguments); 123 static RawObject* InvokeClosure(const Array& arguments);
133 124
134 // Invokes the closure object given as the first argument. 125 // Invokes the closure object given as the first argument.
135 // On success, returns a RawInstance. On failure, a RawError. 126 // On success, returns a RawInstance. On failure, a RawError.
136 static RawObject* InvokeClosure(const Array& arguments, 127 static RawObject* InvokeClosure(const Array& arguments,
137 const Array& arguments_descriptor); 128 const Array& arguments_descriptor);
138 129
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
175 // 166 //
176 // Returns null on success, a RawError on failure. 167 // Returns null on success, a RawError on failure.
177 static RawObject* MapSetAt(const Instance& map, 168 static RawObject* MapSetAt(const Instance& map,
178 const Instance& key, 169 const Instance& key,
179 const Instance& value); 170 const Instance& value);
180 }; 171 };
181 172
182 } // namespace dart 173 } // namespace dart
183 174
184 #endif // VM_DART_ENTRY_H_ 175 #endif // VM_DART_ENTRY_H_
OLDNEW
« no previous file with comments | « runtime/vm/dart_api_impl.cc ('k') | runtime/vm/dart_entry.cc » ('j') | runtime/vm/debugger.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698