Reviewers: danno,
Message:
PTAL.
Description:
Unless undefined is explicitly allows as hash, use ALLOW_CREATION.
Please review this at https://chromiumcodereview.appspot.com/10873008/
SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge
Affected files:
M src/objects-inl.h
M src/objects.cc
Index: src/objects-inl.h
diff --git a/src/objects-inl.h b/src/objects-inl.h
index
6c4cd54f6624601f2ca21814113a3cc11824b927..6261d803cb1e86a2c5f7d431b35679e2a68f352c
100644
--- a/src/objects-inl.h
+++ b/src/objects-inl.h
@@ -5075,7 +5075,7 @@ bool ObjectHashTableShape<entrysize>::IsMatch(Object*
key, Object* other) {
template <int entrysize>
uint32_t ObjectHashTableShape<entrysize>::Hash(Object* key) {
- MaybeObject* maybe_hash = key->GetHash(OMIT_CREATION);
+ MaybeObject* maybe_hash = key->GetHash(ALLOW_CREATION);
return Smi::cast(maybe_hash->ToObjectChecked())->value();
}
@@ -5083,7 +5083,7 @@ uint32_t
ObjectHashTableShape<entrysize>::Hash(Object* key) {
template <int entrysize>
uint32_t ObjectHashTableShape<entrysize>::HashForObject(Object* key,
Object* other) {
- MaybeObject* maybe_hash = other->GetHash(OMIT_CREATION);
+ MaybeObject* maybe_hash = other->GetHash(ALLOW_CREATION);
return Smi::cast(maybe_hash->ToObjectChecked())->value();
}
Index: src/objects.cc
diff --git a/src/objects.cc b/src/objects.cc
index
64f5a452d7c74ae961b6af3ec44a48d981f30fd1..a883635fc27587c7df7ffacda72042318bf48d2c
100644
--- a/src/objects.cc
+++ b/src/objects.cc
@@ -2761,7 +2761,7 @@ void JSProxy::Fix() {
// Inherit identity, if it was present.
Object* hash;
- if (maybe_hash->To<Object>(&hash) && hash->IsSmi()) {
+ if (maybe_hash->To(&hash) && hash->IsSmi()) {
Handle<JSObject> new_self(JSObject::cast(*self));
isolate->factory()->SetIdentityHash(new_self, Smi::cast(hash));
}
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev