| OLD | NEW |
| 1 // Copyright 2011 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
| 2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
| 3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
| 4 // met: | 4 // met: |
| 5 // | 5 // |
| 6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
| 7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
| 8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
| 9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
| 10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
| 11 // with the distribution. | 11 // with the distribution. |
| (...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 100 class Signature; | 100 class Signature; |
| 101 template <class T> class Handle; | 101 template <class T> class Handle; |
| 102 template <class T> class Local; | 102 template <class T> class Local; |
| 103 template <class T> class Persistent; | 103 template <class T> class Persistent; |
| 104 class FunctionTemplate; | 104 class FunctionTemplate; |
| 105 class ObjectTemplate; | 105 class ObjectTemplate; |
| 106 class Data; | 106 class Data; |
| 107 class AccessorInfo; | 107 class AccessorInfo; |
| 108 class StackTrace; | 108 class StackTrace; |
| 109 class StackFrame; | 109 class StackFrame; |
| 110 class Isolate; |
| 110 | 111 |
| 111 namespace internal { | 112 namespace internal { |
| 112 | 113 |
| 113 class Arguments; | 114 class Arguments; |
| 114 class Object; | 115 class Object; |
| 115 class Heap; | 116 class Heap; |
| 116 class HeapObject; | 117 class HeapObject; |
| 117 class Isolate; | 118 class Isolate; |
| 118 } | 119 } |
| 119 | 120 |
| (...skipping 1840 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1960 */ | 1961 */ |
| 1961 class Arguments { | 1962 class Arguments { |
| 1962 public: | 1963 public: |
| 1963 inline int Length() const; | 1964 inline int Length() const; |
| 1964 inline Local<Value> operator[](int i) const; | 1965 inline Local<Value> operator[](int i) const; |
| 1965 inline Local<Function> Callee() const; | 1966 inline Local<Function> Callee() const; |
| 1966 inline Local<Object> This() const; | 1967 inline Local<Object> This() const; |
| 1967 inline Local<Object> Holder() const; | 1968 inline Local<Object> Holder() const; |
| 1968 inline bool IsConstructCall() const; | 1969 inline bool IsConstructCall() const; |
| 1969 inline Local<Value> Data() const; | 1970 inline Local<Value> Data() const; |
| 1971 inline Isolate* GetIsolate() const; |
| 1970 private: | 1972 private: |
| 1971 static const int kDataIndex = 0; | 1973 static const int kIsolateIndex = 0; |
| 1972 static const int kCalleeIndex = -1; | 1974 static const int kDataIndex = -1; |
| 1973 static const int kHolderIndex = -2; | 1975 static const int kCalleeIndex = -2; |
| 1976 static const int kHolderIndex = -3; |
| 1974 | 1977 |
| 1975 friend class ImplementationUtilities; | 1978 friend class ImplementationUtilities; |
| 1976 inline Arguments(internal::Object** implicit_args, | 1979 inline Arguments(internal::Object** implicit_args, |
| 1977 internal::Object** values, | 1980 internal::Object** values, |
| 1978 int length, | 1981 int length, |
| 1979 bool is_construct_call); | 1982 bool is_construct_call); |
| 1980 internal::Object** implicit_args_; | 1983 internal::Object** implicit_args_; |
| 1981 internal::Object** values_; | 1984 internal::Object** values_; |
| 1982 int length_; | 1985 int length_; |
| 1983 bool is_construct_call_; | 1986 bool is_construct_call_; |
| 1984 }; | 1987 }; |
| 1985 | 1988 |
| 1986 | 1989 |
| 1987 /** | 1990 /** |
| 1988 * The information passed to an accessor callback about the context | 1991 * The information passed to an accessor callback about the context |
| 1989 * of the property access. | 1992 * of the property access. |
| 1990 */ | 1993 */ |
| 1991 class V8EXPORT AccessorInfo { | 1994 class V8EXPORT AccessorInfo { |
| 1992 public: | 1995 public: |
| 1993 inline AccessorInfo(internal::Object** args) | 1996 inline AccessorInfo(internal::Object** args) |
| 1994 : args_(args) { } | 1997 : args_(args) { } |
| 1998 inline Isolate* GetIsolate() const; |
| 1995 inline Local<Value> Data() const; | 1999 inline Local<Value> Data() const; |
| 1996 inline Local<Object> This() const; | 2000 inline Local<Object> This() const; |
| 1997 inline Local<Object> Holder() const; | 2001 inline Local<Object> Holder() const; |
| 1998 private: | 2002 private: |
| 1999 internal::Object** args_; | 2003 internal::Object** args_; |
| 2000 }; | 2004 }; |
| 2001 | 2005 |
| 2002 | 2006 |
| 2003 typedef Handle<Value> (*InvocationCallback)(const Arguments& args); | 2007 typedef Handle<Value> (*InvocationCallback)(const Arguments& args); |
| 2004 | 2008 |
| (...skipping 2036 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4041 return Local<Object>(reinterpret_cast<Object*>( | 4045 return Local<Object>(reinterpret_cast<Object*>( |
| 4042 &implicit_args_[kHolderIndex])); | 4046 &implicit_args_[kHolderIndex])); |
| 4043 } | 4047 } |
| 4044 | 4048 |
| 4045 | 4049 |
| 4046 Local<Value> Arguments::Data() const { | 4050 Local<Value> Arguments::Data() const { |
| 4047 return Local<Value>(reinterpret_cast<Value*>(&implicit_args_[kDataIndex])); | 4051 return Local<Value>(reinterpret_cast<Value*>(&implicit_args_[kDataIndex])); |
| 4048 } | 4052 } |
| 4049 | 4053 |
| 4050 | 4054 |
| 4055 Isolate* Arguments::GetIsolate() const { |
| 4056 return *reinterpret_cast<Isolate**>(&implicit_args_[kIsolateIndex]); |
| 4057 } |
| 4058 |
| 4059 |
| 4051 bool Arguments::IsConstructCall() const { | 4060 bool Arguments::IsConstructCall() const { |
| 4052 return is_construct_call_; | 4061 return is_construct_call_; |
| 4053 } | 4062 } |
| 4054 | 4063 |
| 4055 | 4064 |
| 4056 int Arguments::Length() const { | 4065 int Arguments::Length() const { |
| 4057 return length_; | 4066 return length_; |
| 4058 } | 4067 } |
| 4059 | 4068 |
| 4060 | 4069 |
| (...skipping 215 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4276 | 4285 |
| 4277 | 4286 |
| 4278 External* External::Cast(v8::Value* value) { | 4287 External* External::Cast(v8::Value* value) { |
| 4279 #ifdef V8_ENABLE_CHECKS | 4288 #ifdef V8_ENABLE_CHECKS |
| 4280 CheckCast(value); | 4289 CheckCast(value); |
| 4281 #endif | 4290 #endif |
| 4282 return static_cast<External*>(value); | 4291 return static_cast<External*>(value); |
| 4283 } | 4292 } |
| 4284 | 4293 |
| 4285 | 4294 |
| 4295 Isolate* AccessorInfo::GetIsolate() const { |
| 4296 return *reinterpret_cast<Isolate**>(&args_[-3]); |
| 4297 } |
| 4298 |
| 4299 |
| 4286 Local<Value> AccessorInfo::Data() const { | 4300 Local<Value> AccessorInfo::Data() const { |
| 4287 return Local<Value>(reinterpret_cast<Value*>(&args_[-2])); | 4301 return Local<Value>(reinterpret_cast<Value*>(&args_[-2])); |
| 4288 } | 4302 } |
| 4289 | 4303 |
| 4290 | 4304 |
| 4291 Local<Object> AccessorInfo::This() const { | 4305 Local<Object> AccessorInfo::This() const { |
| 4292 return Local<Object>(reinterpret_cast<Object*>(&args_[0])); | 4306 return Local<Object>(reinterpret_cast<Object*>(&args_[0])); |
| 4293 } | 4307 } |
| 4294 | 4308 |
| 4295 | 4309 |
| (...skipping 15 matching lines...) Expand all Loading... |
| 4311 | 4325 |
| 4312 | 4326 |
| 4313 } // namespace v8 | 4327 } // namespace v8 |
| 4314 | 4328 |
| 4315 | 4329 |
| 4316 #undef V8EXPORT | 4330 #undef V8EXPORT |
| 4317 #undef TYPE_CHECK | 4331 #undef TYPE_CHECK |
| 4318 | 4332 |
| 4319 | 4333 |
| 4320 #endif // V8_H_ | 4334 #endif // V8_H_ |
| OLD | NEW |