Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(36)

Side by Side Diff: src/objects.h

Issue 107933005: Templatise type representation (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 7 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 the V8 project authors. All rights reserved.
2 // Redistribution and use in source and binary forms, with or without 2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions are 3 // modification, are permitted provided that the following conditions are
4 // met: 4 // met:
5 // 5 //
6 // * Redistributions of source code must retain the above copyright 6 // * Redistributions of source code must retain the above copyright
7 // notice, this list of conditions and the following disclaimer. 7 // notice, this list of conditions and the following disclaimer.
8 // * Redistributions in binary form must reproduce the above 8 // * Redistributions in binary form must reproduce the above
9 // copyright notice, this list of conditions and the following 9 // copyright notice, this list of conditions and the following
10 // disclaimer in the documentation and/or other materials provided 10 // disclaimer in the documentation and/or other materials provided
(...skipping 862 matching lines...) Expand 10 before | Expand all | Expand 10 after
873 class AccessorPair; 873 class AccessorPair;
874 class AllocationSite; 874 class AllocationSite;
875 class AllocationSiteCreationContext; 875 class AllocationSiteCreationContext;
876 class AllocationSiteUsageContext; 876 class AllocationSiteUsageContext;
877 class DictionaryElementsAccessor; 877 class DictionaryElementsAccessor;
878 class ElementsAccessor; 878 class ElementsAccessor;
879 class Failure; 879 class Failure;
880 class FixedArrayBase; 880 class FixedArrayBase;
881 class ObjectVisitor; 881 class ObjectVisitor;
882 class StringStream; 882 class StringStream;
883 class Type; 883 // Work around the fact that we cannot just say "class Type;" anymore, because
884 // C++ is a pile of garbage with no proper compositionality or abstraction.
titzer 2013/12/17 09:13:07 Agree with the sentiment--and glad to have a comme
rossberg 2013/12/17 09:33:13 Had to vent. I literally wasted a day trying to fi
885 template<class> class TypeImpl;
886 class HeapTypeConfig;
887 typedef TypeImpl<HeapTypeConfig> Type;
884 888
885 889
886 // A template-ized version of the IsXXX functions. 890 // A template-ized version of the IsXXX functions.
887 template <class C> inline bool Is(Object* obj); 891 template <class C> inline bool Is(Object* obj);
888 892
889 #ifdef VERIFY_HEAP 893 #ifdef VERIFY_HEAP
890 #define DECLARE_VERIFIER(Name) void Name##Verify(); 894 #define DECLARE_VERIFIER(Name) void Name##Verify();
891 #else 895 #else
892 #define DECLARE_VERIFIER(Name) 896 #define DECLARE_VERIFIER(Name)
893 #endif 897 #endif
(...skipping 9712 matching lines...) Expand 10 before | Expand all | Expand 10 after
10606 } else { 10610 } else {
10607 value &= ~(1 << bit_position); 10611 value &= ~(1 << bit_position);
10608 } 10612 }
10609 return value; 10613 return value;
10610 } 10614 }
10611 }; 10615 };
10612 10616
10613 } } // namespace v8::internal 10617 } } // namespace v8::internal
10614 10618
10615 #endif // V8_OBJECTS_H_ 10619 #endif // V8_OBJECTS_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698