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