Chromium Code Reviews| Index: include/v8.h |
| diff --git a/include/v8.h b/include/v8.h |
| index 883bfad9458ebc31c511ff3ba93568e2d1eab635..db7e24a4799c5d87e533b2c221e5b75f74ed712a 100644 |
| --- a/include/v8.h |
| +++ b/include/v8.h |
| @@ -3432,9 +3432,14 @@ class Internals { |
| return ReadField<uint8_t>(map, kMapInstanceTypeOffset); |
| } |
| + static inline void* GetExternalPointerFromSmi(internal::Object* smi) { |
| + return reinterpret_cast<void*>( |
| + reinterpret_cast<intptr_t>(smi) >> kSmiShiftSize); |
|
Lasse Reichstein
2011/01/13 08:35:18
I don't think this will work in 64-bit mode (kShif
|
| + } |
| + |
| static inline void* GetExternalPointer(internal::Object* obj) { |
| if (HasSmiTag(obj)) { |
| - return obj; |
| + return GetExternalPointerFromSmi(obj); |
| } else if (GetInstanceType(obj) == kProxyType) { |
| return ReadField<void*>(obj, kProxyProxyOffset); |
| } else { |