Home | History | Annotate | Download | only in objects
      1 // Copyright 2016 the V8 project authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 // Note 1: Any file that includes this one should include object-macros-undef.h
      6 // at the bottom.
      7 
      8 // Note 2: This file is deliberately missing the include guards (the undeffing
      9 // approach wouldn't work otherwise).
     10 
     11 #define DECL_BOOLEAN_ACCESSORS(name) \
     12   inline bool name() const;          \
     13   inline void set_##name(bool value);
     14 
     15 #define DECL_INT_ACCESSORS(name) \
     16   inline int name() const;       \
     17   inline void set_##name(int value);
     18 
     19 #define DECL_ACCESSORS(name, type)    \
     20   inline type* name() const;          \
     21   inline void set_##name(type* value, \
     22                          WriteBarrierMode mode = UPDATE_WRITE_BARRIER);
     23 
     24 #define DECLARE_CAST(type)                   \
     25   INLINE(static type* cast(Object* object)); \
     26   INLINE(static const type* cast(const Object* object));
     27 
     28 #ifdef VERIFY_HEAP
     29 #define DECLARE_VERIFIER(Name) void Name##Verify();
     30 #else
     31 #define DECLARE_VERIFIER(Name)
     32 #endif
     33