Inline TypeImpl::NowContains().
authorbmeurer@chromium.org <bmeurer@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Fri, 11 Apr 2014 09:24:35 +0000 (09:24 +0000)
committerbmeurer@chromium.org <bmeurer@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Fri, 11 Apr 2014 09:24:35 +0000 (09:24 +0000)
R=rossberg@chromium.org

Review URL: https://codereview.chromium.org/234743003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20677 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

src/types-inl.h
src/types.cc
src/types.h

index 2c805032902d0d2bc79862dd8822e3a46a6263fc..ad1107b68cb0c3421c19f8343745268b3ff842d8 100644 (file)
 namespace v8 {
 namespace internal {
 
+template<class Config>
+bool TypeImpl<Config>::NowContains(i::Object* value) {
+  DisallowHeapAllocation no_allocation;
+  if (this->IsAny()) return true;
+  if (value->IsHeapObject()) {
+    i::Map* map = i::HeapObject::cast(value)->map();
+    for (Iterator<i::Map> it = this->Classes(); !it.Done(); it.Advance()) {
+      if (*it.Current() == map) return true;
+    }
+  }
+  return this->Contains(value);
+}
+
+
 // static
 Type* ZoneTypeConfig::handle(Type* type) {
   return type;
index 3abc08dd9c15fd1816eaae1d89d97f1662dc469a..4526b6fe4470866c27a5fb6c3a208c301f3b4c7c 100644 (file)
@@ -371,19 +371,6 @@ bool TypeImpl<Config>::Contains(i::Object* value) {
 }
 
 
-template<class Config>
-bool TypeImpl<Config>::NowContains(i::Object* value) {
-  DisallowHeapAllocation no_allocation;
-  if (value->IsHeapObject()) {
-    i::Map* map = i::HeapObject::cast(value)->map();
-    for (Iterator<i::Map> it = this->Classes(); !it.Done(); it.Advance()) {
-      if (*it.Current() == map) return true;
-    }
-  }
-  return this->Contains(value);
-}
-
-
 template<class Config>
 bool TypeImpl<Config>::InUnion(StructHandle unioned, int current_size) {
   ASSERT(!this->IsUnion());
index 18b22239a2dd30cf435de75babe2cfe99ed05b6e..da63e5fd56de4803ba9ab8343dc4a20019b81a1f 100644 (file)
@@ -271,7 +271,7 @@ class TypeImpl : public Config::Base {
   bool NowIs(TypeImpl* that);
   template<class TypeHandle>
   bool NowIs(TypeHandle that)  { return this->NowIs(*that); }
-  bool NowContains(i::Object* val);
+  inline bool NowContains(i::Object* val);
   bool NowContains(i::Handle<i::Object> val) { return this->NowContains(*val); }
 
   bool IsClass() { return Config::is_class(this); }