Index: src/string-stream.h |
=================================================================== |
--- src/string-stream.h (revision 2604) |
+++ src/string-stream.h (working copy) |
@@ -90,21 +90,12 @@ |
FmtElm(Handle<Object> value) : type_(HANDLE) { // NOLINT |
data_.u_handle_ = value.location(); |
} |
- FmtElm(void* value) : type_(INT) { // NOLINT |
-#if V8_HOST_ARCH_64_BIT |
- // TODO(x64): FmtElm needs to treat pointers as pointers, and not as |
- // ints. This will require adding a pointer type, etc. For now just |
- // hack it and truncate the pointer. |
- // http://code.google.com/p/v8/issues/detail?id=335 |
- data_.u_int_ = 0; |
- UNIMPLEMENTED(); |
-#else |
- data_.u_int_ = reinterpret_cast<int>(value); |
-#endif |
+ FmtElm(void* value) : type_(POINTER) { // NOLINT |
+ data_.u_pointer_ = value; |
} |
private: |
friend class StringStream; |
- enum Type { INT, DOUBLE, C_STR, LC_STR, OBJ, HANDLE }; |
+ enum Type { INT, DOUBLE, C_STR, LC_STR, OBJ, HANDLE, POINTER }; |
Type type_; |
union { |
int u_int_; |
@@ -113,6 +104,7 @@ |
const Vector<const uc16>* u_lc_str_; |
Object* u_obj_; |
Object** u_handle_; |
+ void* u_pointer_; |
} data_; |
}; |