#ifndef JS_CONFIG_H
#define JS_CONFIG_H

#define ANT_VERSION "@ANT_VERSION@"
#define ANT_GIT_HASH "@ANT_GIT_HASH@"
#define ANT_BUILD_DATE "@ANT_BUILD_DATE@"

#define JS_EXPR_MAX 20
#define JS_GC_THRESHOLD 0.75

#define SLOTMASK ~(((jsoff_t) ~0) >> 1)
#define CONSTMASK (~(((jsoff_t) ~0) >> 1) >> 1)
#define ARRMASK (~(((jsoff_t) ~0) >> 1) >> 2)

typedef enum {
  SLOT_NONE = 0,
  SLOT_PID,
  SLOT_ASYNC,
  SLOT_WITH,
  SLOT_SCOPE,
  SLOT_THIS,
  SLOT_BOUND_THIS,
  SLOT_BOUND_ARGS,
  SLOT_FIELD_COUNT,
  SLOT_SOURCE,
  SLOT_FIELDS,
  SLOT_STRICT,
  SLOT_CODE,
  SLOT_CFUNC,
  SLOT_CORO,
  SLOT_PROTO,
  SLOT_FROZEN,
  SLOT_SEALED,
  SLOT_EXTENSIBLE,
  SLOT_BUFFER,
  SLOT_TARGET_FUNC,
  SLOT_VERSION,
  SLOT_NAME,
  SLOT_MAX = 255
} internal_slot_t;

#endif
