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

Side by Side Diff: src/api.h

Issue 1413463006: Map v8::Object to v8::internal::JSReceiver (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 5 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
OLDNEW
1 // Copyright 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef V8_API_H_ 5 #ifndef V8_API_H_
6 #define V8_API_H_ 6 #define V8_API_H_
7 7
8 #include "include/v8-testing.h" 8 #include "include/v8-testing.h"
9 #include "src/contexts.h" 9 #include "src/contexts.h"
10 #include "src/factory.h" 10 #include "src/factory.h"
(...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after
138 138
139 #define OPEN_HANDLE_LIST(V) \ 139 #define OPEN_HANDLE_LIST(V) \
140 V(Template, TemplateInfo) \ 140 V(Template, TemplateInfo) \
141 V(FunctionTemplate, FunctionTemplateInfo) \ 141 V(FunctionTemplate, FunctionTemplateInfo) \
142 V(ObjectTemplate, ObjectTemplateInfo) \ 142 V(ObjectTemplate, ObjectTemplateInfo) \
143 V(Signature, FunctionTemplateInfo) \ 143 V(Signature, FunctionTemplateInfo) \
144 V(AccessorSignature, FunctionTemplateInfo) \ 144 V(AccessorSignature, FunctionTemplateInfo) \
145 V(TypeSwitch, TypeSwitchInfo) \ 145 V(TypeSwitch, TypeSwitchInfo) \
146 V(Data, Object) \ 146 V(Data, Object) \
147 V(RegExp, JSRegExp) \ 147 V(RegExp, JSRegExp) \
148 V(Object, JSObject) \ 148 V(Object, JSReceiver) \
149 V(Array, JSArray) \ 149 V(Array, JSArray) \
150 V(Map, JSMap) \ 150 V(Map, JSMap) \
151 V(Set, JSSet) \ 151 V(Set, JSSet) \
152 V(ArrayBuffer, JSArrayBuffer) \ 152 V(ArrayBuffer, JSArrayBuffer) \
153 V(ArrayBufferView, JSArrayBufferView) \ 153 V(ArrayBufferView, JSArrayBufferView) \
154 V(TypedArray, JSTypedArray) \ 154 V(TypedArray, JSTypedArray) \
155 V(Uint8Array, JSTypedArray) \ 155 V(Uint8Array, JSTypedArray) \
156 V(Uint8ClampedArray, JSTypedArray) \ 156 V(Uint8ClampedArray, JSTypedArray) \
157 V(Int8Array, JSTypedArray) \ 157 V(Int8Array, JSTypedArray) \
158 V(Uint16Array, JSTypedArray) \ 158 V(Uint16Array, JSTypedArray) \
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
193 static inline Local<Value> ToLocal( 193 static inline Local<Value> ToLocal(
194 v8::internal::Handle<v8::internal::Object> obj); 194 v8::internal::Handle<v8::internal::Object> obj);
195 static inline Local<Name> ToLocal( 195 static inline Local<Name> ToLocal(
196 v8::internal::Handle<v8::internal::Name> obj); 196 v8::internal::Handle<v8::internal::Name> obj);
197 static inline Local<String> ToLocal( 197 static inline Local<String> ToLocal(
198 v8::internal::Handle<v8::internal::String> obj); 198 v8::internal::Handle<v8::internal::String> obj);
199 static inline Local<Symbol> ToLocal( 199 static inline Local<Symbol> ToLocal(
200 v8::internal::Handle<v8::internal::Symbol> obj); 200 v8::internal::Handle<v8::internal::Symbol> obj);
201 static inline Local<RegExp> ToLocal( 201 static inline Local<RegExp> ToLocal(
202 v8::internal::Handle<v8::internal::JSRegExp> obj); 202 v8::internal::Handle<v8::internal::JSRegExp> obj);
203 static inline Local<Object> ToLocal(
204 v8::internal::Handle<v8::internal::JSObject> obj);
205 static inline Local<Array> ToLocal( 203 static inline Local<Array> ToLocal(
206 v8::internal::Handle<v8::internal::JSArray> obj); 204 v8::internal::Handle<v8::internal::JSArray> obj);
207 static inline Local<Map> ToLocal( 205 static inline Local<Map> ToLocal(
208 v8::internal::Handle<v8::internal::JSMap> obj); 206 v8::internal::Handle<v8::internal::JSMap> obj);
209 static inline Local<Set> ToLocal( 207 static inline Local<Set> ToLocal(
210 v8::internal::Handle<v8::internal::JSSet> obj); 208 v8::internal::Handle<v8::internal::JSSet> obj);
211 static inline Local<ArrayBuffer> ToLocal( 209 static inline Local<ArrayBuffer> ToLocal(
212 v8::internal::Handle<v8::internal::JSArrayBuffer> obj); 210 v8::internal::Handle<v8::internal::JSArrayBuffer> obj);
213 static inline Local<ArrayBufferView> ToLocal( 211 static inline Local<ArrayBufferView> ToLocal(
214 v8::internal::Handle<v8::internal::JSArrayBufferView> obj); 212 v8::internal::Handle<v8::internal::JSArrayBufferView> obj);
(...skipping 17 matching lines...) Expand all
232 static inline Local<Int32Array> ToLocalInt32Array( 230 static inline Local<Int32Array> ToLocalInt32Array(
233 v8::internal::Handle<v8::internal::JSTypedArray> obj); 231 v8::internal::Handle<v8::internal::JSTypedArray> obj);
234 static inline Local<Float32Array> ToLocalFloat32Array( 232 static inline Local<Float32Array> ToLocalFloat32Array(
235 v8::internal::Handle<v8::internal::JSTypedArray> obj); 233 v8::internal::Handle<v8::internal::JSTypedArray> obj);
236 static inline Local<Float64Array> ToLocalFloat64Array( 234 static inline Local<Float64Array> ToLocalFloat64Array(
237 v8::internal::Handle<v8::internal::JSTypedArray> obj); 235 v8::internal::Handle<v8::internal::JSTypedArray> obj);
238 236
239 static inline Local<SharedArrayBuffer> ToLocalShared( 237 static inline Local<SharedArrayBuffer> ToLocalShared(
240 v8::internal::Handle<v8::internal::JSArrayBuffer> obj); 238 v8::internal::Handle<v8::internal::JSArrayBuffer> obj);
241 239
240 static inline Local<Object> ReceiverToLocal(
rossberg 2015/11/04 10:43:56 Is there a reason to name this specially? So far,
rossberg 2015/11/09 13:31:46 What about this one?
jochen (gone - plz use gerrit) 2015/11/09 22:42:04 that's the case here - JSReceiver could also be a
rossberg 2015/11/10 07:04:48 I don't understand. Not all receivers are function
241 v8::internal::Handle<v8::internal::JSReceiver> obj);
242 static inline Local<Message> MessageToLocal( 242 static inline Local<Message> MessageToLocal(
243 v8::internal::Handle<v8::internal::Object> obj); 243 v8::internal::Handle<v8::internal::Object> obj);
244 static inline Local<Promise> PromiseToLocal( 244 static inline Local<Promise> PromiseToLocal(
245 v8::internal::Handle<v8::internal::JSObject> obj); 245 v8::internal::Handle<v8::internal::JSObject> obj);
246 static inline Local<StackTrace> StackTraceToLocal( 246 static inline Local<StackTrace> StackTraceToLocal(
247 v8::internal::Handle<v8::internal::JSArray> obj); 247 v8::internal::Handle<v8::internal::JSArray> obj);
248 static inline Local<StackFrame> StackFrameToLocal( 248 static inline Local<StackFrame> StackFrameToLocal(
249 v8::internal::Handle<v8::internal::JSObject> obj); 249 v8::internal::Handle<v8::internal::JSObject> obj);
250 static inline Local<Number> NumberToLocal( 250 static inline Local<Number> NumberToLocal(
251 v8::internal::Handle<v8::internal::Object> obj); 251 v8::internal::Handle<v8::internal::Object> obj);
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after
346 return Convert<v8::internal::JSTypedArray, v8::Type##Array>(obj); \ 346 return Convert<v8::internal::JSTypedArray, v8::Type##Array>(obj); \
347 } 347 }
348 348
349 349
350 MAKE_TO_LOCAL(ToLocal, Context, Context) 350 MAKE_TO_LOCAL(ToLocal, Context, Context)
351 MAKE_TO_LOCAL(ToLocal, Object, Value) 351 MAKE_TO_LOCAL(ToLocal, Object, Value)
352 MAKE_TO_LOCAL(ToLocal, Name, Name) 352 MAKE_TO_LOCAL(ToLocal, Name, Name)
353 MAKE_TO_LOCAL(ToLocal, String, String) 353 MAKE_TO_LOCAL(ToLocal, String, String)
354 MAKE_TO_LOCAL(ToLocal, Symbol, Symbol) 354 MAKE_TO_LOCAL(ToLocal, Symbol, Symbol)
355 MAKE_TO_LOCAL(ToLocal, JSRegExp, RegExp) 355 MAKE_TO_LOCAL(ToLocal, JSRegExp, RegExp)
356 MAKE_TO_LOCAL(ToLocal, JSObject, Object)
357 MAKE_TO_LOCAL(ToLocal, JSArray, Array) 356 MAKE_TO_LOCAL(ToLocal, JSArray, Array)
358 MAKE_TO_LOCAL(ToLocal, JSMap, Map) 357 MAKE_TO_LOCAL(ToLocal, JSMap, Map)
359 MAKE_TO_LOCAL(ToLocal, JSSet, Set) 358 MAKE_TO_LOCAL(ToLocal, JSSet, Set)
360 MAKE_TO_LOCAL(ToLocal, JSArrayBuffer, ArrayBuffer) 359 MAKE_TO_LOCAL(ToLocal, JSArrayBuffer, ArrayBuffer)
361 MAKE_TO_LOCAL(ToLocal, JSArrayBufferView, ArrayBufferView) 360 MAKE_TO_LOCAL(ToLocal, JSArrayBufferView, ArrayBufferView)
362 MAKE_TO_LOCAL(ToLocal, JSDataView, DataView) 361 MAKE_TO_LOCAL(ToLocal, JSDataView, DataView)
363 MAKE_TO_LOCAL(ToLocal, JSTypedArray, TypedArray) 362 MAKE_TO_LOCAL(ToLocal, JSTypedArray, TypedArray)
364 MAKE_TO_LOCAL(ToLocalShared, JSArrayBuffer, SharedArrayBuffer) 363 MAKE_TO_LOCAL(ToLocalShared, JSArrayBuffer, SharedArrayBuffer)
365 364
366 TYPED_ARRAYS(MAKE_TO_LOCAL_TYPED_ARRAY) 365 TYPED_ARRAYS(MAKE_TO_LOCAL_TYPED_ARRAY)
367 366
368 MAKE_TO_LOCAL(ToLocal, FunctionTemplateInfo, FunctionTemplate) 367 MAKE_TO_LOCAL(ToLocal, FunctionTemplateInfo, FunctionTemplate)
369 MAKE_TO_LOCAL(ToLocal, ObjectTemplateInfo, ObjectTemplate) 368 MAKE_TO_LOCAL(ToLocal, ObjectTemplateInfo, ObjectTemplate)
370 MAKE_TO_LOCAL(SignatureToLocal, FunctionTemplateInfo, Signature) 369 MAKE_TO_LOCAL(SignatureToLocal, FunctionTemplateInfo, Signature)
371 MAKE_TO_LOCAL(AccessorSignatureToLocal, FunctionTemplateInfo, AccessorSignature) 370 MAKE_TO_LOCAL(AccessorSignatureToLocal, FunctionTemplateInfo, AccessorSignature)
372 MAKE_TO_LOCAL(ToLocal, TypeSwitchInfo, TypeSwitch) 371 MAKE_TO_LOCAL(ToLocal, TypeSwitchInfo, TypeSwitch)
372 MAKE_TO_LOCAL(ReceiverToLocal, JSReceiver, Object)
rossberg 2015/11/04 10:43:56 Same here.
373 MAKE_TO_LOCAL(MessageToLocal, Object, Message) 373 MAKE_TO_LOCAL(MessageToLocal, Object, Message)
374 MAKE_TO_LOCAL(PromiseToLocal, JSObject, Promise) 374 MAKE_TO_LOCAL(PromiseToLocal, JSObject, Promise)
375 MAKE_TO_LOCAL(StackTraceToLocal, JSArray, StackTrace) 375 MAKE_TO_LOCAL(StackTraceToLocal, JSArray, StackTrace)
376 MAKE_TO_LOCAL(StackFrameToLocal, JSObject, StackFrame) 376 MAKE_TO_LOCAL(StackFrameToLocal, JSObject, StackFrame)
377 MAKE_TO_LOCAL(NumberToLocal, Object, Number) 377 MAKE_TO_LOCAL(NumberToLocal, Object, Number)
378 MAKE_TO_LOCAL(IntegerToLocal, Object, Integer) 378 MAKE_TO_LOCAL(IntegerToLocal, Object, Integer)
379 MAKE_TO_LOCAL(Uint32ToLocal, Object, Uint32) 379 MAKE_TO_LOCAL(Uint32ToLocal, Object, Uint32)
380 MAKE_TO_LOCAL(ExternalToLocal, JSObject, External) 380 MAKE_TO_LOCAL(ExternalToLocal, JSObject, External)
381 MAKE_TO_LOCAL(NativeWeakMapToLocal, JSWeakMap, NativeWeakMap) 381 MAKE_TO_LOCAL(NativeWeakMapToLocal, JSWeakMap, NativeWeakMap)
382 MAKE_TO_LOCAL(CallableToLocal, JSReceiver, Function) 382 MAKE_TO_LOCAL(CallableToLocal, JSReceiver, Function)
(...skipping 256 matching lines...) Expand 10 before | Expand all | Expand 10 after
639 } 639 }
640 640
641 private: 641 private:
642 static v8::Testing::StressType stress_type_; 642 static v8::Testing::StressType stress_type_;
643 }; 643 };
644 644
645 } // namespace internal 645 } // namespace internal
646 } // namespace v8 646 } // namespace v8
647 647
648 #endif // V8_API_H_ 648 #endif // V8_API_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698