Index: src/spaces.h |
diff --git a/src/spaces.h b/src/spaces.h |
index 354aa114b3390fc3c03c8b5e9f3ba0eebe5f3e12..07daacfdf63d7c530f9694544435a4c1275121fc 100644 |
--- a/src/spaces.h |
+++ b/src/spaces.h |
@@ -320,7 +320,8 @@ class MemoryChunk { |
Space* owner() const { |
if ((reinterpret_cast<intptr_t>(owner_) & kFailureTagMask) == |
kFailureTag) { |
- return reinterpret_cast<Space*>(owner_ - kFailureTag); |
+ return reinterpret_cast<Space*>(reinterpret_cast<intptr_t>(owner_) - |
+ kFailureTag); |
} else { |
return NULL; |
} |
@@ -333,14 +334,6 @@ class MemoryChunk { |
kFailureTag); |
} |
- // Workaround for a bug in Clang-3.3 which in some situations optimizes away |
- // an "if (chunk->owner() != NULL)" check. |
- bool has_owner() { |
- if (owner_ == 0) return false; |
- if (reinterpret_cast<intptr_t>(owner_) == kFailureTag) return false; |
- return true; |
- } |
- |
VirtualMemory* reserved_memory() { |
return &reservation_; |
} |