/*
 * Generated by dtrace(1M).
 */

#ifndef _AUTO_DTRACE_H
#define _AUTO_DTRACE_H

#include <unistd.h>

#ifdef  __cplusplus
extern "C" {
#endif

#define GARBAGE_COLLECTION_STABILITY "___dtrace_stability$garbage_collection$v1$1_1_0_1_1_0_1_1_0_1_1_0_1_1_0"

#define GARBAGE_COLLECTION_TYPEDEFS "___dtrace_typedefs$garbage_collection$v2$6175746f5f636f6c6c656374696f6e5f70686173655f74$6175746f5f636f6c6c656374696f6e5f747970655f74$6d616c6c6f635f7a6f6e655f74"

#if !defined(DTRACE_PROBES_DISABLED) || !DTRACE_PROBES_DISABLED

#define GARBAGE_COLLECTION_AUTO_BLOCK_LOST_THREAD_LOCALITY(arg0, arg1) \
do { \
  __asm__ volatile(".reference " GARBAGE_COLLECTION_TYPEDEFS); \
  __dtrace_probe$garbage_collection$auto_block_lost_thread_locality$v1$766f6964202a$75696e7436345f74(arg0, arg1); \
  __asm__ volatile(".reference " GARBAGE_COLLECTION_STABILITY); \
} while (0)
#define GARBAGE_COLLECTION_AUTO_BLOCK_LOST_THREAD_LOCALITY_ENABLED() \
  ({ int _r = __dtrace_isenabled$garbage_collection$auto_block_lost_thread_locality$v1(); \
    __asm__ volatile(""); \
    _r; })
#define GARBAGE_COLLECTION_AUTO_REFCOUNT_ONE_ALLOCATION(arg0) \
do { \
  __asm__ volatile(".reference " GARBAGE_COLLECTION_TYPEDEFS); \
  __dtrace_probe$garbage_collection$auto_refcount_one_allocation$v1$75696e7436345f74(arg0); \
  __asm__ volatile(".reference " GARBAGE_COLLECTION_STABILITY); \
} while (0)
#define GARBAGE_COLLECTION_AUTO_REFCOUNT_ONE_ALLOCATION_ENABLED() \
  ({ int _r = __dtrace_isenabled$garbage_collection$auto_refcount_one_allocation$v1(); \
    __asm__ volatile(""); \
    _r; })
#define GARBAGE_COLLECTION_COLLECTION_BEGIN(arg0, arg1) \
do { \
  __asm__ volatile(".reference " GARBAGE_COLLECTION_TYPEDEFS); \
  __dtrace_probe$garbage_collection$collection_begin$v1$6d616c6c6f635f7a6f6e655f74202a$6175746f5f636f6c6c656374696f6e5f747970655f74(arg0, arg1); \
  __asm__ volatile(".reference " GARBAGE_COLLECTION_STABILITY); \
} while (0)
#define GARBAGE_COLLECTION_COLLECTION_BEGIN_ENABLED() \
  ({ int _r = __dtrace_isenabled$garbage_collection$collection_begin$v1(); \
    __asm__ volatile(""); \
    _r; })
#define GARBAGE_COLLECTION_COLLECTION_END(arg0, arg1, arg2, arg3, arg4) \
do { \
  __asm__ volatile(".reference " GARBAGE_COLLECTION_TYPEDEFS); \
  __dtrace_probe$garbage_collection$collection_end$v1$6d616c6c6f635f7a6f6e655f74202a$75696e7436345f74$75696e7436345f74$75696e7436345f74$75696e7436345f74(arg0, arg1, arg2, arg3, arg4); \
  __asm__ volatile(".reference " GARBAGE_COLLECTION_STABILITY); \
} while (0)
#define GARBAGE_COLLECTION_COLLECTION_END_ENABLED() \
  ({ int _r = __dtrace_isenabled$garbage_collection$collection_end$v1(); \
    __asm__ volatile(""); \
    _r; })
#define GARBAGE_COLLECTION_COLLECTION_PHASE_BEGIN(arg0, arg1) \
do { \
  __asm__ volatile(".reference " GARBAGE_COLLECTION_TYPEDEFS); \
  __dtrace_probe$garbage_collection$collection_phase_begin$v1$6d616c6c6f635f7a6f6e655f74202a$6175746f5f636f6c6c656374696f6e5f70686173655f74(arg0, arg1); \
  __asm__ volatile(".reference " GARBAGE_COLLECTION_STABILITY); \
} while (0)
#define GARBAGE_COLLECTION_COLLECTION_PHASE_BEGIN_ENABLED() \
  ({ int _r = __dtrace_isenabled$garbage_collection$collection_phase_begin$v1(); \
    __asm__ volatile(""); \
    _r; })
#define GARBAGE_COLLECTION_COLLECTION_PHASE_END(arg0, arg1, arg2, arg3) \
do { \
  __asm__ volatile(".reference " GARBAGE_COLLECTION_TYPEDEFS); \
  __dtrace_probe$garbage_collection$collection_phase_end$v1$6d616c6c6f635f7a6f6e655f74202a$6175746f5f636f6c6c656374696f6e5f70686173655f74$75696e7436345f74$75696e7436345f74(arg0, arg1, arg2, arg3); \
  __asm__ volatile(".reference " GARBAGE_COLLECTION_STABILITY); \
} while (0)
#define GARBAGE_COLLECTION_COLLECTION_PHASE_END_ENABLED() \
  ({ int _r = __dtrace_isenabled$garbage_collection$collection_phase_end$v1(); \
    __asm__ volatile(""); \
    _r; })


extern void __dtrace_probe$garbage_collection$auto_block_lost_thread_locality$v1$766f6964202a$75696e7436345f74(const void *, uint64_t);
extern int __dtrace_isenabled$garbage_collection$auto_block_lost_thread_locality$v1(void);
extern void __dtrace_probe$garbage_collection$auto_refcount_one_allocation$v1$75696e7436345f74(uint64_t);
extern int __dtrace_isenabled$garbage_collection$auto_refcount_one_allocation$v1(void);
extern void __dtrace_probe$garbage_collection$collection_begin$v1$6d616c6c6f635f7a6f6e655f74202a$6175746f5f636f6c6c656374696f6e5f747970655f74(const malloc_zone_t *, auto_collection_type_t);
extern int __dtrace_isenabled$garbage_collection$collection_begin$v1(void);
extern void __dtrace_probe$garbage_collection$collection_end$v1$6d616c6c6f635f7a6f6e655f74202a$75696e7436345f74$75696e7436345f74$75696e7436345f74$75696e7436345f74(const malloc_zone_t *, uint64_t, uint64_t, uint64_t, uint64_t);
extern int __dtrace_isenabled$garbage_collection$collection_end$v1(void);
extern void __dtrace_probe$garbage_collection$collection_phase_begin$v1$6d616c6c6f635f7a6f6e655f74202a$6175746f5f636f6c6c656374696f6e5f70686173655f74(const malloc_zone_t *, auto_collection_phase_t);
extern int __dtrace_isenabled$garbage_collection$collection_phase_begin$v1(void);
extern void __dtrace_probe$garbage_collection$collection_phase_end$v1$6d616c6c6f635f7a6f6e655f74202a$6175746f5f636f6c6c656374696f6e5f70686173655f74$75696e7436345f74$75696e7436345f74(const malloc_zone_t *, auto_collection_phase_t, uint64_t, uint64_t);
extern int __dtrace_isenabled$garbage_collection$collection_phase_end$v1(void);

#else

#define GARBAGE_COLLECTION_AUTO_BLOCK_LOST_THREAD_LOCALITY(arg0, arg1) \
do { \
  } while (0)
#define GARBAGE_COLLECTION_AUTO_BLOCK_LOST_THREAD_LOCALITY_ENABLED() (0)
#define GARBAGE_COLLECTION_AUTO_REFCOUNT_ONE_ALLOCATION(arg0) \
do { \
  } while (0)
#define GARBAGE_COLLECTION_AUTO_REFCOUNT_ONE_ALLOCATION_ENABLED() (0)
#define GARBAGE_COLLECTION_COLLECTION_BEGIN(arg0, arg1) \
do { \
  } while (0)
#define GARBAGE_COLLECTION_COLLECTION_BEGIN_ENABLED() (0)
#define GARBAGE_COLLECTION_COLLECTION_END(arg0, arg1, arg2, arg3, arg4) \
do { \
  } while (0)
#define GARBAGE_COLLECTION_COLLECTION_END_ENABLED() (0)
#define GARBAGE_COLLECTION_COLLECTION_PHASE_BEGIN(arg0, arg1) \
do { \
  } while (0)
#define GARBAGE_COLLECTION_COLLECTION_PHASE_BEGIN_ENABLED() (0)
#define GARBAGE_COLLECTION_COLLECTION_PHASE_END(arg0, arg1, arg2, arg3) \
do { \
  } while (0)
#define GARBAGE_COLLECTION_COLLECTION_PHASE_END_ENABLED() (0)

#endif /* !defined(DTRACE_PROBES_DISABLED) || !DTRACE_PROBES_DISABLED */


#ifdef  __cplusplus
}
#endif

#endif  /* _AUTO_DTRACE_H */
