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