PN                 25 core/asm.c     PNAsm *potion_asm_put(Potion *P, PNAsm * volatile asmb, PN val, size_t len) {
PN                 34 core/asm.c       else if (len == sizeof(PN))
PN                 35 core/asm.c         *((PN *)ptr) = val;
PN                 96 core/asm.h     #define ASM(ins) *asmp = potion_asm_put(P, *asmp, (PN)(ins), sizeof(u8))
PN                 97 core/asm.h     #define ASM2(pn) *asmp = potion_asm_put(P, *asmp, (PN)(pn), 2)
PN                 98 core/asm.h     #define ASMI(pn) *asmp = potion_asm_put(P, *asmp, (PN)(pn), sizeof(int))
PN                 99 core/asm.h     #define ASMN(pn) *asmp = potion_asm_put(P, *asmp, (PN)(pn), sizeof(PN))
PN                103 core/asm.h     PNAsm *potion_asm_put(Potion *, PNAsm *, PN, size_t);
PN                 33 core/ast.c     PN potion_source(Potion *P, u8 p, PN a, PN b, PN c, int lineno, PN line) {
PN                 36 core/ast.c       vPN(Source) t = PN_ALLOC_N(PN_TSOURCE, struct PNSource, 0 * sizeof(PN));
PN                 56 core/ast.c       return (PN)t;
PN                 62 core/ast.c     PN potion_source_size(Potion *P, PN cl, PN self) {
PN                 69 core/ast.c     PN potion_source_name(Potion *P, PN cl, PN self) {
PN                 77 core/ast.c     PN potion_source_file(Potion *P, PN cl, PN self) {
PN                 85 core/ast.c     PN potion_source_line(Potion *P, PN cl, PN self) {
PN                 93 core/ast.c     PN potion_source_string(Potion *P, PN cl, PN self) {
PN                 96 core/ast.c       PN out = potion_byte_str(P, potion_ast_names[t->part]);
PN                110 core/ast.c           potion_bytes_obj_string(P, out, (PN)t->a[i]);
PN                113 core/ast.c           potion_bytes_obj_string(P, out, (PN)t->a[i]);
PN                137 core/ast.c     PN potion_source_loc(Potion *P, PN cl, PN self) {
PN                138 core/ast.c       PN out = potion_byte_str(P, "");
PN                146 core/ast.c       PN src_vt = PN_VTABLE(PN_TSOURCE);
PN                 10 core/ast.h       PN v; ///< args
PN                 11 core/ast.h       PN b; ///< block
PN                 32 core/ast.h     #define PN_S(S, N)    (PN)(((struct PNSource *)S)->a[N])
PN                 34 core/ast.h         PN endname = B; \
PN                 44 core/ast.h     PN potion_source(Potion *, u8, PN, PN, PN, int, PN);
PN                 18 core/callcc.c  PN potion_continuation_yield(Potion *P, PN cl, PN self) {
PN                 20 core/callcc.c    PN *start, *end, *sp1 = P->mem->cstack;
PN                 22 core/callcc.c    start = (PN *)cc->stack[0];
PN                 23 core/callcc.c    end = (PN *)cc->stack[1];
PN                 25 core/callcc.c    start = (PN *)cc->stack[1];
PN                 26 core/callcc.c    end = (PN *)cc->stack[0];
PN                 29 core/callcc.c    if ((PN)sp1 != cc->stack[0]) {
PN                 38 core/callcc.c    cc->stack[3] = (PN)cc;
PN                102 core/callcc.c  PN potion_callcc(Potion *P, PN cl, PN self) {
PN                105 core/callcc.c    PN *start, *sp1 = P->mem->cstack, *sp2, *sp3;
PN                127 core/callcc.c    cc = PN_ALLOC_N(PN_TCONT, struct PNCont, sizeof(PN) * (n + 3 + PN_SAVED_REGS));
PN                129 core/callcc.c    cc->stack[0] = (PN)sp1;
PN                130 core/callcc.c    cc->stack[1] = (PN)sp2;
PN                131 core/callcc.c    cc->stack[2] = (PN)sp3;
PN                151 core/callcc.c      PN *s = start + 1;
PN                152 core/callcc.c      PN *d = cc->stack + 4 + PN_SAVED_REGS;
PN                158 core/callcc.c    PN_MEMCPY_N((char *)(cc->stack + 4 + PN_SAVED_REGS), start + 1, PN, n - 1);
PN                165 core/callcc.c    return (PN)cc;
PN                170 core/callcc.c    PN cnt_vt = PN_VTABLE(PN_TCONT);
PN                 21 core/compile.c #define PN_ASM1(ins, _a)     f->asmb = (PN)potion_asm_op(P, (PNAsm *)f->asmb, (u8)ins, (int)_a, 0)
PN                 22 core/compile.c #define PN_ASM2(ins, _a, _b) f->asmb = (PN)potion_asm_op(P, (PNAsm *)f->asmb, (u8)ins, (int)_a, (int)_b)
PN                 43 core/compile.c PN potion_proto_tree(Potion *P, PN cl, PN self) {
PN                 50 core/compile.c PN potion_proto_call(Potion *P, PN cl, PN self, PN args) {
PN                 55 core/compile.c PN potion_sig_string(Potion *P, PN cl, PN sig) {
PN                 56 core/compile.c   PN out = potion_byte_str(P, "");
PN                 63 core/compile.c 	PN v = (PN)t->set[i];
PN                 93 core/compile.c PN potion_proto_string(Potion *P, PN cl, PN self) {
PN                 98 core/compile.c   PN out = potion_byte_str(P, "; function definition");
PN                186 core/compile.c     PN test = PN_S(PN_TUPLE_AT(PN_S(t->a[n],0), 0), 0);			\
PN                198 core/compile.c     PN test = PN_S(PN_TUPLE_AT(PN_S(t->a[n],0), 0), 0);			\
PN                209 core/compile.c   PN block = potion_send(blk, PN_compile, (PN)f, sig); \
PN                258 core/compile.c     PN_SIZE num = PN_PUT(f->debugs, (PN)t);
PN                279 core/compile.c void potion_arg_asmb(Potion *P, struct PNProto * volatile f, struct PNLoop *loop, PN args, u8 *reg, int inc) {
PN                350 core/compile.c 	PN e = PN_S(t,0);
PN                364 core/compile.c       if (!PN_IS_PTR(PN_S(t,0)) && PN_S(t,0) == (PN)op.a) {
PN                425 core/compile.c 	      PN rhs = PN_TUPLE_AT(f->locals, num);
PN                566 core/compile.c       PN ifconst = PN_NONE;
PN                570 core/compile.c         PN use = PN_TUPLE_AT(PN_S(t,1), 0);
PN                571 core/compile.c         PN name = PN_TUPLE_AT(PN_S(t,1), 1);
PN                572 core/compile.c         PN list = potion_tuple_at(P,0,PN_S(t,1),2);
PN                573 core/compile.c         PN class = potion_require(P, name); //TODO name to file
PN                681 core/compile.c           PN ctor = PN_S(blk, 0);
PN                686 core/compile.c           PN_BLOCK(breg, (PN)blk, PN_S(t,1));
PN                736 core/compile.c         PN v = PN_S(t,0);
PN                922 core/compile.c PN potion_sig_compile(Potion *P, vPN(Proto) f, PN src) {
PN                926 core/compile.c   PN sig = PN_S(t,0);
PN                936 core/compile.c   PN sig = PN_TUP0();
PN                947 core/compile.c       PN name = 0;
PN                951 core/compile.c 	PN v = PN_S(lhs,0);
PN                963 core/compile.c 	PN name2 = 0;
PN                988 core/compile.c 	    PN v = PN_NUM(PN_STR_PTR(PN_S(rhs,0))[0]); // = type. TODO: one-char => VTABLE
PN                996 core/compile.c 	    PN v = PN_NUM(PN_STR_PTR((PN)SRC_TUPLE_AT(lhs,0)->a[0])[0]); // = type. TODO: one-char => VTABLE
PN               1004 core/compile.c             PN v = PN_S(SRC_TUPLE_AT(rhs,0),0);
PN               1010 core/compile.c 	  PN v = PN_S(rhs,0);
PN               1032 core/compile.c PN potion_source_compile(Potion *P, PN cl, PN self, PN source, PN sig) {
PN               1053 core/compile.c   f->asmb = (PN)potion_asm_new(P);
PN               1062 core/compile.c   return (PN)f;
PN               1068 core/compile.c PN potion_proto_clone(Potion *P, PN cl, PN self) {
PN               1071 core/compile.c   PN PN_clone = PN_STR("clone");
PN               1073 core/compile.c   PN len;
PN               1094 core/compile.c   n->asmb = (PN)asmb;
PN               1096 core/compile.c   return (PN)n;
PN               1100 core/compile.c #define READ_PN(pn, ptr) ({PN rpn = *(PN *)ptr; ptr += pn; rpn;})
PN               1102 core/compile.c     PN val = READ_PN(pn, ptr); \
PN               1119 core/compile.c   PN tup = potion_tuple_with_size(P, (PN_SIZE)count); \
PN               1126 core/compile.c     READ_TUPLE(ptr) PN_TUPLE_AT(tup, i) = potion_proto_load(P, (PN)f, pn, &(ptr)); \
PN               1131 core/compile.c PN potion_proto_load(Potion *P, PN up, u8 pn, u8 **ptr) {
PN               1132 core/compile.c   PN len = 0;
PN               1151 core/compile.c   f->asmb = (PN)asmb;
PN               1156 core/compile.c   return (PN)f;
PN               1161 core/compile.c PN potion_source_load(Potion *P, PN cl, PN buf) {
PN               1175 core/compile.c #define WRITE_PN(pn, ptr) ({*(PN *)ptr = pn; ptr += sizeof(PN);})
PN               1178 core/compile.c       PN count = (PN_STR_LEN(val)+1) << 4; \
PN               1183 core/compile.c       PN str = potion_num_string(P, PN_NIL, val); \
PN               1184 core/compile.c       PN count = ((PN_STR_LEN(str)+1) << 4) | 2; \
PN               1189 core/compile.c       PN cval = (PN_IS_PTR(val) ? PN_NIL : val); \
PN               1211 core/compile.c long potion_proto_dumpbc(Potion *P, PN proto, PN out, long pos) {
PN               1232 core/compile.c PN potion_source_dumpbc(Potion *P, PN cl, PN proto, PN options) {
PN               1233 core/compile.c   PN pnb = potion_bytes(P, 8192);
PN               1240 core/compile.c   h.pn = (u8)sizeof(PN);
PN               1253 core/compile.c PN potion_source_dump(Potion *P, PN cl, PN self, PN backend, PN options) {
PN               1267 core/compile.c PN potion_run(Potion *P, PN code, int jit) {
PN               1275 core/compile.c     PN cl = potion_closure_new(P, (PN_F)potion_jit_proto(P, code), PN_NIL, 1);
PN               1283 core/compile.c PN potion_eval(Potion *P, PN bytes) {
PN               1284 core/compile.c   PN code = (PN_TYPE(bytes) == PN_TSOURCE)
PN               1293 core/compile.c   PN pro_vt = PN_VTABLE(PN_TPROTO);
PN               1294 core/compile.c   PN src_vt = PN_VTABLE(PN_TSOURCE);
PN                 34 core/file.c    PN potion_io_error(Potion *P, const char *msg) {
PN                 45 core/file.c    PN potion_file_new(Potion *P, PN cl, PN self, PN path, PN modestr) {
PN                 76 core/file.c    PN potion_file_with_fd(Potion *P, PN cl, PN self, PN fd) {
PN                 87 core/file.c      return (PN)file;
PN                 93 core/file.c    PN potion_file_close(Potion *P, PN cl, pn_file self) {
PN                104 core/file.c    PN potion_file_read(Potion *P, PN cl, pn_file self, PN n) {
PN                123 core/file.c    PN potion_file_write(Potion *P, PN cl, pn_file self, PN obj) {
PN                160 core/file.c    PN potion_file_print(Potion *P, PN cl, pn_file self, PN obj) {
PN                166 core/file.c    PN potion_file_string(Potion *P, PN cl, pn_file self) {
PN                169 core/file.c      PN str;
PN                186 core/file.c    PN potion_lobby_read(Potion *P, PN cl, PN self) {
PN                195 core/file.c      PN file_vt = PN_VTABLE(PN_TFILE);
PN                197 core/file.c      PN pe = potion_table_empty(P);
PN                199 core/file.c      PN PN_env = potion_str(P, "%ENV");
PN                201 core/file.c      PN PN_env = potion_str(P, "Env");
PN                169 core/gc.c          PN v = (PN)*storead;
PN                175 core/gc.c        while ((PN)scanptr < (PN)M->old_cur)
PN                221 core/gc.c        M->old_cur = scanptr = newold + (sizeof(PN) * 2);
PN                228 core/gc.c          while ((PN)protptr < (PN)M->protect)
PN                232 core/gc.c        while ((PN)scanptr < (PN)M->old_cur)
PN                310 core/gc.c              (((struct PNVtable *)PN_VTABLE(ptr->vt))->ivlen * sizeof(PN));
PN                333 core/gc.c            sz = sizeof(struct PNClosure) + (PN_CLOSURE(ptr)->extra * sizeof(PN));
PN                336 core/gc.c            sz = sizeof(struct PNTuple) + (sizeof(PN) * ((struct PNTuple *)ptr)->alloc);
PN                357 core/gc.c            sz = sizeof(struct PNTable) + kh_mem(PN, ptr);
PN                369 core/gc.c            sz = sizeof(struct PNCont) + (((struct PNCont *)ptr)->len * sizeof(PN));
PN                392 core/gc.c        ((struct PNFwd *)ptr)->ptr = (PN)dst;
PN                427 core/gc.c            struct PNTuple * volatile t = (struct PNTuple *)potion_fwd((PN)ptr);
PN                479 core/gc.c            GC_MINOR_UPDATE_TABLE(PN, (struct PNTable *)potion_fwd((PN)ptr), 1);
PN                531 core/gc.c            struct PNTuple * volatile t = (struct PNTuple *)potion_fwd((PN)ptr);
PN                583 core/gc.c            GC_MAJOR_UPDATE_TABLE(PN, (struct PNTable *)potion_fwd((PN)ptr), 1);
PN                680 core/gc.c      PN potion_gc_actual(Potion *P, PN cl, PN self)
PN                690 core/gc.c      PN potion_gc_fixed(Potion *P, PN cl, PN self)
PN                698 core/gc.c      PN potion_gc_reserved(Potion *P, PN cl, PN self)
PN                 30 core/gc.h        M->t##_cur = p + (sizeof(PN) * 2); \
PN                 71 core/gc.h          PN _pnv = potion_fwd((_PN)p); \
PN                 79 core/gc.h          PN _pnv = potion_fwd((_PN)p); \
PN                 90 core/gc.h            PN v1 = kh_key(name, kh, k); \
PN                 94 core/gc.h              PN v2 = kh_val(name, kh, k); \
PN                105 core/gc.h            PN v1 = kh_key(name, kh, k); \
PN                109 core/gc.h              PN v2 = kh_val(name, kh, k); \
PN                121 core/gc.h            PN v = kh_key(str, P->strings, k); \
PN                136 core/gc.h            PN v = kh_key(str, P->strings, k); \
PN                 13 core/internal.c PN PN_allocate, PN_break, PN_call, PN_class, PN_compile, PN_continue, PN_def,
PN                 16 core/internal.c PN PN_add, PN_sub, PN_mult, PN_div, PN_rem, PN_bitn, PN_bitl, PN_bitr;
PN                 17 core/internal.c PN PN_cmp, PN_number, PN_name, PN_length, PN_size, PN_STR0;
PN                 19 core/internal.c PN PN_use, PN_no;
PN                 21 core/internal.c PN pn_filenames;
PN                 23 core/internal.c PN potion_allocate(Potion *P, PN cl, PN self, PN len) {
PN                 26 core/internal.c   return (PN)obj;
PN                 30 core/internal.c   PN vtable, obj_vt;
PN                134 core/internal.c PN potion_delegated(Potion *P, PN closure, PN self) {
PN                140 core/internal.c PN potion_call(Potion *P, PN cl, PN_SIZE argc, PN * volatile argv) {
PN                192 core/internal.c PNType potion_kind_of(PN obj) {
PN                228 core/internal.c PN potion_error(Potion *P, PN msg, long lineno, long charno, PN excerpt) {
PN                234 core/internal.c   return (PN)e;
PN                237 core/internal.c PN potion_error_string(Potion *P, PN cl, PN self) {
PN                247 core/internal.c   PN err_vt = PN_VTABLE(PN_TERROR);
PN                251 core/internal.c static inline char *potion_type_name(Potion *P, PN obj) {
PN                260 core/internal.c PN potion_type_error(Potion *P, PN obj) {
PN                264 core/internal.c PN potion_type_error_want(Potion *P, PN obj, const char *name) {
PN                280 core/internal.c   PN out = potion_bytes(P, 36);
PN                294 core/internal.c void potion_p(Potion *P, PN x) {
PN                300 core/internal.c   PN x;
PN                305 core/internal.c void potion_dump(Potion *P, PN data) {
PN                306 core/internal.c   PN pd = potion_send(data, PN_string);
PN                307 core/internal.c   PN pt = potion_send(PN_VTABLE(PN_TYPE(data)), PN_string);
PN                316 core/internal.c   PN *end, *ebp, *start = P->mem->cstack;
PN                 11 core/lick.c    PN potion_lick(Potion *P, PN name, PN inner, PN attr) {
PN                 16 core/lick.c      return (PN)lk;
PN                 22 core/lick.c    PN potion_lick_attr(Potion *P, PN cl, PN self) {
PN                 29 core/lick.c    PN potion_lick_licks(Potion *P, PN cl, PN self) {
PN                 30 core/lick.c      PN licks = ((struct PNLick *)self)->inner;
PN                 38 core/lick.c    PN potion_lick_name(Potion *P, PN cl, PN self) {
PN                 45 core/lick.c    PN potion_lick_text(Potion *P, PN cl, PN self) {
PN                 46 core/lick.c      PN text = ((struct PNLick *)self)->inner;
PN                 54 core/lick.c    PN potion_lick_string(Potion *P, PN cl, PN self) {
PN                 55 core/lick.c      PN out = potion_byte_str(P, "");
PN                 69 core/lick.c      PN lk_vt = PN_VTABLE(PN_TLICK);
PN                 16 core/load.c    static PN potion_load_code(Potion *P, const char *filename) {
PN                 17 core/load.c      PN buf, code;
PN                 20 core/load.c      PN result = PN_NIL;
PN                 64 core/load.c    static PN potion_load_dylib(Potion *P, const char *filename) {
PN                 86 core/load.c    static PN pn_loader_path;
PN                163 core/load.c    PN potion_load(Potion *P, PN cl, PN self, PN file) {
PN                168 core/load.c      PN result = PN_NIL;
PN                193 core/load.c    PN p2_load(Potion *P, PN cl, PN self, PN file) {
PN                197 core/load.c      PN result = PN_NIL;
PN                221 core/load.c    void potion_loader_add(Potion *P, PN path) {
PN                155 core/mt19937ar.c PN potion_srand(Potion *P, PN cl, PN self, PN seed) {
PN                165 core/mt19937ar.c PN potion_rand(Potion *P, PN cl, PN self) {
PN                174 core/mt19937ar.c PN potion_num_rand(Potion *P, PN cl, PN self) {
PN                 14 core/number.c  PN potion_real(Potion *P, double v) {
PN                 17 core/number.c    return (PN)d;
PN                 21 core/number.c  PN potion_decimal(Potion *P, char *str, int len) {
PN                 30 core/number.c  PN potion_pow(Potion *P, PN cl, PN self, PN sup) {
PN                 40 core/number.c  static PN potion_sqrt(Potion *P, PN cl, PN self) {
PN                 53 core/number.c  static PN potion_add(Potion *P, PN cl, PN self, PN num) {
PN                 61 core/number.c  static PN potion_sub(Potion *P, PN cl, PN self, PN num) {
PN                 69 core/number.c  static PN potion_mult(Potion *P, PN cl, PN self, PN num) {
PN                 77 core/number.c  static PN potion_div(Potion *P, PN cl, PN self, PN num) {
PN                 85 core/number.c  static PN potion_rem(Potion *P, PN cl, PN self, PN num) {
PN                 96 core/number.c  static PN potion_bitn(Potion *P, PN cl, PN self) {
PN                 99 core/number.c    return (PN)potion_real(P, 0.0);
PN                106 core/number.c  static PN potion_bitl(Potion *P, PN cl, PN self, PN num) {
PN                109 core/number.c    return (PN)potion_real(P, 0.0);
PN                116 core/number.c  static PN potion_bitr(Potion *P, PN cl, PN self, PN num) {
PN                119 core/number.c    return (PN)potion_real(P, 0.0);
PN                124 core/number.c  static PN potion_num_number(Potion *P, PN cl, PN self) {
PN                130 core/number.c  PN potion_num_string(Potion *P, PN cl, PN self) {
PN                160 core/number.c  static PN potion_num_times(Potion *P, PN cl, PN self, PN block) {
PN                175 core/number.c  static PN potion_num_to(Potion *P, PN cl, PN self, PN end, PN block) {
PN                191 core/number.c  static PN potion_num_step(Potion *P, PN cl, PN self, PN end, PN step, PN block) {
PN                202 core/number.c  static PN potion_num_chr(Potion *P, PN cl, PN self) {
PN                209 core/number.c  static PN potion_num_is_integer(Potion *P, PN cl, PN self) {
PN                215 core/number.c  static PN potion_num_is_float(Potion *P, PN cl, PN self) {
PN                221 core/number.c  static PN potion_num_integer(Potion *P, PN cl, PN self) {
PN                230 core/number.c  static PN potion_abs(Potion *P, PN cl, PN self) {
PN                234 core/number.c        return (PN) potion_real(P, -d);
PN                248 core/number.c  static PN potion_num_cmp(Potion *P, PN cl, PN self, PN n) {
PN                262 core/number.c    PN num_vt = PN_VTABLE(PN_TNUMBER);
PN                263 core/number.c    PN dbl_vt = PN_VTABLE(PN_TDECIMAL);
PN                 17 core/objmodel.c PN potion_closure_new(Potion *P, PN_F meth, PN sig, PN_SIZE extra) {
PN                 18 core/objmodel.c   PN_SIZE i; PN cr;
PN                 19 core/objmodel.c   vPN(Closure) c = PN_ALLOC_N(PN_TCLOSURE, struct PNClosure, extra * sizeof(PN));
PN                 33 core/objmodel.c   cr = (PN)c;
PN                 42 core/objmodel.c PN potion_closure_code(Potion *P, PN cl, PN self) {
PN                 52 core/objmodel.c PN potion_closure_string(Potion *P, PN cl, PN self, PN maxlen) {
PN                 58 core/objmodel.c   PN out = potion_byte_str(P, FUNCNAME);
PN                 69 core/objmodel.c PN potion_closure_arity(Potion *P, PN cl, PN self) {
PN                 76 core/objmodel.c PN potion_closure_minargs(Potion *P, PN cl, PN self) {
PN                 87 core/objmodel.c int potion_sig_arity(Potion *P, PN sig) {
PN                 95 core/objmodel.c 	PN v = (PN)t->set[i];
PN                 98 core/objmodel.c 	if (PN_IS_NUM(v) && v == PN_NUM(':') && PN_IS_STR((PN)t->set[i+1])) count--;
PN                112 core/objmodel.c int potion_sig_minargs(Potion *P, PN sig) {
PN                119 core/objmodel.c 	PN v = (PN)t->set[i];
PN                136 core/objmodel.c PN potion_sig_at(Potion *P, PN sig, int index) {
PN                137 core/objmodel.c   PN result = PN_NIL;
PN                144 core/objmodel.c 	PN v = (PN)t->set[i];
PN                146 core/objmodel.c 	if (PN_IS_NUM(v) && v == PN_NUM(':') && PN_IS_STR((PN)t->set[i+1])) count--;
PN                149 core/objmodel.c 	  if (i+1 < t->len && PN_IS_NUM((PN)t->set[i+1])) {
PN                150 core/objmodel.c 	    PN typ = (PN)t->set[i+1];
PN                153 core/objmodel.c 	      result = potion_tuple_push(P, result, (PN)t->set[i+2]);
PN                170 core/objmodel.c PN potion_sig_name_at(Potion *P, PN sig, int index) {
PN                177 core/objmodel.c 	PN v = (PN)t->set[i];
PN                179 core/objmodel.c 	if (PN_IS_NUM(v) && v == PN_NUM(':') && PN_IS_STR((PN)t->set[i+1])) count--;
PN                194 core/objmodel.c PN potion_no_call(Potion *P, PN cl, PN self) {
PN                207 core/objmodel.c   PN_VTABLE(meta->type) = (PN)meta;
PN                212 core/objmodel.c PN potion_type_new(Potion *P, PNType t, PN self) {
PN                219 core/objmodel.c   PN_VTABLE(t) = (PN)vt;
PN                221 core/objmodel.c   return (PN)vt;
PN                224 core/objmodel.c PN potion_type_new2(Potion *P, PNType t, PN self, PN name) {
PN                227 core/objmodel.c   return (PN)vt;
PN                230 core/objmodel.c void potion_type_call_is(PN vt, PN cl) {
PN                234 core/objmodel.c PN potion_obj_get_call(Potion *P, PN obj) {
PN                235 core/objmodel.c   PN cl = ((struct PNVtable *)PN_VTABLE(PN_TYPE(obj)))->call;
PN                240 core/objmodel.c void potion_type_callset_is(PN vt, PN cl) {
PN                244 core/objmodel.c PN potion_obj_get_callset(Potion *P, PN obj) {
PN                245 core/objmodel.c   PN cl = ((struct PNVtable *)PN_VTABLE(PN_TYPE(obj)))->callset;
PN                250 core/objmodel.c void potion_type_constructor_is(PN vt, PN cl) {
PN                257 core/objmodel.c PN potion_class(Potion *P, PN cl, PN self, PN ivars) {
PN                258 core/objmodel.c   PN parent = ((!self || self == P->lobby) ? PN_VTABLE(PN_TOBJECT) : self);
PN                259 core/objmodel.c   PN pvars = ((struct PNVtable *)parent)->ivars;
PN                280 core/objmodel.c PN potion_class_find(Potion *P, PN name) {
PN                285 core/objmodel.c       return (PN)vt;
PN                290 core/objmodel.c PNType potion_class_type(Potion *P, PN class) {
PN                295 core/objmodel.c PN potion_ivars(Potion *P, PN cl, PN self, PN ivars) {
PN                310 core/objmodel.c static inline long potion_obj_find_ivar(Potion *P, PN self, PN ivar) {
PN                317 core/objmodel.c     PN ivars = ((struct PNVtable *)PN_VTABLE(t))->ivars;
PN                319 core/objmodel.c       PN found = potion_tuple_bsearch(P, 0, ivars, ivar);
PN                327 core/objmodel.c PN potion_obj_get(Potion *P, PN cl, PN self, PN ivar) {
PN                334 core/objmodel.c PN potion_obj_set(Potion *P, PN cl, PN self, PN ivar, PN value) {
PN                343 core/objmodel.c PN potion_proto_method(Potion *P, PN cl, PN self, PN args) {
PN                347 core/objmodel.c PN potion_getter_method(Potion *P, PN cl, PN self) {
PN                351 core/objmodel.c PN potion_def_method(Potion *P, PN closure, PN self, PN key, PN method) {
PN                353 core/objmodel.c   PN cl;
PN                355 core/objmodel.c   unsigned k = kh_put(PN, vt->methods, key, &ret);
PN                373 core/objmodel.c   kh_val(PN, vt->methods, k) = method;
PN                395 core/objmodel.c PN potion_lookup(Potion *P, PN closure, PN self, PN key) {
PN                401 core/objmodel.c   unsigned k = kh_get(PN, vt->methods, key);
PN                402 core/objmodel.c   if (k != kh_end(vt->methods)) return kh_val(PN, vt->methods, k);
PN                406 core/objmodel.c PN potion_bind(Potion *P, PN rcv, PN msg) {
PN                407 core/objmodel.c   PN closure = PN_NIL;
PN                408 core/objmodel.c   PN vt = PN_NIL;
PN                412 core/objmodel.c     vt = (PN)((struct PNVtable *)rcv)->meta;
PN                427 core/objmodel.c PN potion_message(Potion *P, PN rcv, PN msg) {
PN                428 core/objmodel.c   PN cl = potion_bind(P, rcv, msg);
PN                434 core/objmodel.c PN potion_obj_add(Potion *P, PN a, PN b) {
PN                438 core/objmodel.c PN potion_obj_sub(Potion *P, PN a, PN b) {
PN                442 core/objmodel.c PN potion_obj_mult(Potion *P, PN a, PN b) {
PN                446 core/objmodel.c PN potion_obj_div(Potion *P, PN a, PN b) {
PN                450 core/objmodel.c PN potion_obj_rem(Potion *P, PN a, PN b) {
PN                454 core/objmodel.c PN potion_obj_bitn(Potion *P, PN a) {
PN                458 core/objmodel.c PN potion_obj_bitl(Potion *P, PN a, PN b) {
PN                462 core/objmodel.c PN potion_obj_bitr(Potion *P, PN a, PN b) {
PN                471 core/objmodel.c PN potion_ref(Potion *P, PN data) {
PN                475 core/objmodel.c   return (PN)ref;
PN                481 core/objmodel.c PN potion_ref_string(Potion *P, PN cl, PN self, PN len) {
PN                488 core/objmodel.c PN potion_object_string(Potion *P, PN cl, vPN(Object) self) {
PN                491 core/objmodel.c     PN str = potion_byte_str2(P, NULL, 0);
PN                492 core/objmodel.c     pn_printf(P, str, "<%s %lx>", PN_STR_PTR(vt->name), (PN)self);
PN                502 core/objmodel.c PN potion_object_forward(Potion *P, PN cl, PN self, PN method) {
PN                512 core/objmodel.c PN potion_object_send(Potion *P, PN cl, PN self, PN method) {
PN                520 core/objmodel.c PN potion_object_new(Potion *P, PN cl, PN self) {
PN                526 core/objmodel.c   return (PN)PN_ALLOC_N(vt->type, struct PNObject,
PN                527 core/objmodel.c     potion_type_size(P, (struct PNObject *)self) - sizeof(struct PNObject) + vt->ivlen * sizeof(PN));
PN                531 core/objmodel.c PN potion_object_size(Potion *P, PN cl, PN self) {
PN                533 core/objmodel.c   return sizeof(struct PNObject) + (((struct PNVtable *)PN_VTABLE(obj->vt))->ivlen * sizeof(PN));
PN                537 core/objmodel.c PN potion_get_metaclass(Potion *P, PN cl, vPN(Vtable) self) {
PN                538 core/objmodel.c   return (PN)self->meta;
PN                544 core/objmodel.c static PN potion_lobby_self(Potion *P, PN cl, PN self) {
PN                551 core/objmodel.c PN potion_lobby_string(Potion *P, PN cl, PN self) {
PN                552 core/objmodel.c   PN str = ((struct PNVtable *)self)->name;
PN                560 core/objmodel.c PN potion_lobby_kind(Potion *P, PN cl, PN self) {
PN                569 core/objmodel.c PN potion_lobby_can(Potion *P, PN cl, PN self, PN method) {
PN                575 core/objmodel.c PN potion_lobby_print(Potion *P, PN cl, PN self) {
PN                581 core/objmodel.c PN potion_lobby_say(Potion *P, PN cl, PN self) {
PN                587 core/objmodel.c static void potion_init_class_reference(Potion *P, PN name, PN vt) {
PN                595 core/objmodel.c void potion_define_global(Potion *P, PN name, PN val) {
PN                606 core/objmodel.c PN potion_about(Potion *P, PN cl, PN self) {
PN                607 core/objmodel.c   PN about = potion_table_empty(P);
PN                631 core/objmodel.c PN potion_exit(Potion *P, PN cl, PN self) {
PN                637 core/objmodel.c   PN clo_vt = PN_VTABLE(PN_TCLOSURE);
PN                638 core/objmodel.c   PN ref_vt = PN_VTABLE(PN_TWEAK);
PN                639 core/objmodel.c   PN obj_vt = PN_VTABLE(PN_TOBJECT);
PN                689 core/objmodel.c   PN mixin_vt = PN_VTABLE(PN_TVTABLE);
PN                 25 core/p2.h      extern PN PN_use, PN_no;
PN                 33 core/p2.h      PN p2_source_load(Potion *P, PN cl, PN buf);
PN                 34 core/p2.h      PN p2_parse(Potion *, PN, char*);
PN                 35 core/p2.h      PN p2_run(Potion *, PN, int);
PN                 36 core/p2.h      PN p2_eval(Potion *, PN);
PN                 37 core/p2.h      PN p2_sig(Potion *, char *);
PN                 38 core/p2.h      PN p2_load(Potion *, PN, PN, PN);
PN                 47 core/p2.h      PN potion_any_is_defined(Potion *, PN, PN);
PN                132 core/potion.h  #define vPN(t)          struct PN##t * volatile
PN                133 core/potion.h  #define PN_TYPE(x)      potion_type((PN)(x))
PN                139 core/potion.h  #define PN_NIL          ((PN)0)
PN                141 core/potion.h  #define PN_ZERO         ((PN)1)
PN                142 core/potion.h  #define PN_FALSE        ((PN)2)
PN                143 core/potion.h  #define PN_TRUE         ((PN)6)
PN                158 core/potion.h  #define PN_TEST(v)      ((PN)(v) != PN_FALSE && (PN)(v) != PN_NIL)
PN                159 core/potion.h  #define PN_TEST1(v)     ((PN)(v) != PN_FALSE && (PN)(v) != PN_NIL \
PN                160 core/potion.h                           && (PN)(v) != PN_ZERO && (PN)(v) != PN_STR0 \
PN                163 core/potion.h  #define PN_TEST(v)      ((PN)(v) != PN_FALSE && (PN)(v) != PN_NIL)
PN                164 core/potion.h  #define PN_TEST1(v)     ((PN)(v) != PN_FALSE && (PN)(v) != PN_NIL)
PN                169 core/potion.h  #define PN_IS_PTR(v)    (!PN_IS_NUM(v) && ((PN)(v) & PN_REF_MASK))
PN                170 core/potion.h  #define PN_IS_NIL(v)    ((PN)(v) == PN_NIL)
PN                171 core/potion.h  #define PN_IS_BOOL(v)   ((PN)(v) & PN_FBOOLEAN)
PN                172 core/potion.h  #define PN_IS_NUM(v)    ((PN)(v) & PN_FNUMBER)
PN                192 core/potion.h  #define DBG_CHECK_TYPE(obj,type) PN_CHECK_TYPE((PN)obj,type)
PN                202 core/potion.h  #define PN_NUM(i)       ((PN)((((long)(i))<<1) + PN_FNUMBER))
PN                219 core/potion.h  #define PN_TOUCH(x)     potion_gc_update(P, (PN)(x))
PN                260 core/potion.h  #define PN_PUSH(T, X)   potion_tuple_push(P, T, (PN)X)   ///<\memberof PNTuple
PN                264 core/potion.h  #define PN_GET_TUPLE(t) ((struct PNTuple *)potion_fwd((PN)t)) ///<\memberof PNTuple
PN                281 core/potion.h          PN V = __t##V->set[I]; \
PN                294 core/potion.h    PN ivars[0];
PN                304 core/potion.h    PN ptr;
PN                361 core/potion.h    PN path;
PN                365 core/potion.h  typedef PN (*PN_F)(Potion *, PN, PN, ...);
PN                374 core/potion.h    PN sig;            ///< signature PNTuple
PN                378 core/potion.h    PN name;           /// PNString
PN                379 core/potion.h    PN data[0];        ///< code
PN                436 core/potion.h    PN line;              ///< PNString of src line
PN                445 core/potion.h    PN source; ///< program name or enclosing scope
PN                446 core/potion.h    PN sig;    ///< argument signature
PN                447 core/potion.h    PN stack;  ///< size of the stack
PN                448 core/potion.h    PN paths;  ///< paths (instance variables)
PN                449 core/potion.h    PN locals; ///< local variables
PN                450 core/potion.h    PN upvals; ///< variables in upper scopes
PN                451 core/potion.h    PN values; ///< numbers, strings, etc.
PN                452 core/potion.h    PN protos; ///< nested closures
PN                453 core/potion.h    PN debugs; ///< tree parts
PN                454 core/potion.h    PN tree;   ///< abstract syntax tree
PN                456 core/potion.h    PN asmb;   ///< assembled instructions
PN                459 core/potion.h    PN name;   ///< PNString
PN                470 core/potion.h    PN set[0];
PN                479 core/potion.h    PN data;
PN                488 core/potion.h    PN parent;
PN                489 core/potion.h    PN message;
PN                490 core/potion.h    PN line, chr;
PN                491 core/potion.h    PN excerpt;
PN                499 core/potion.h    PN name;  ///< PNString
PN                500 core/potion.h    PN attr;  ///< PN
PN                501 core/potion.h    PN inner; ///< "licks" PNTuple or "text" PNString member
PN                511 core/potion.h    PN stack[0]; // [0] = head of potion stack
PN                518 core/potion.h  static inline PN potion_fwd(PN);
PN                521 core/potion.h  static inline PNType potion_type(PN obj) {
PN                543 core/potion.h  static inline PN potion_fwd(PN obj) {
PN                550 core/potion.h  static inline char *potion_str_ptr(PN s) {
PN                557 core/potion.h  PN_FLEX(PNFlex, PN);
PN                579 core/potion.h    void (*ivars)    (Potion *, PN, PNAsm * volatile *);
PN                630 core/potion.h    PN lobby;                ///< root namespace
PN                634 core/potion.h    PN call, callset;        ///< generic call and setter
PN                638 core/potion.h    PN input, source;        ///< parser input and output (AST)
PN                641 core/potion.h    PN line;                 ///< currently parsed line (for debug)
PN                643 core/potion.h    PN unclosed;             ///< used by parser for named block endings
PN                666 core/potion.h    PN __##x = 0x571FF; void *x = (void *)&__##x
PN                693 core/potion.h  static inline void potion_gc_update(Potion *P, PN x) {
PN                695 core/potion.h    if ((x > (PN)M->birth_lo && x < (PN)M->birth_hi && (x < (PN)M || x >= (PN)M->protect)) ||
PN                696 core/potion.h        x == (PN)M->birth_storeptr[1] ||
PN                697 core/potion.h        x == (PN)M->birth_storeptr[2] ||
PN                698 core/potion.h        x == (PN)M->birth_storeptr[3])
PN                720 core/potion.h      ((struct PNFwd *)obj)->ptr = (PN)dst;
PN                721 core/potion.h      potion_gc_update(P, (PN)obj);
PN                747 core/potion.h      PN r = (PN)(RCV); \
PN                748 core/potion.h      PN c = potion_bind(P, r, (MSG)); \
PN                760 core/potion.h  extern PN PN_allocate, PN_break, PN_call, PN_class, PN_compile,
PN                764 core/potion.h  extern PN PN_add, PN_sub, PN_mult, PN_div, PN_rem, PN_bitn, PN_bitl, PN_bitr;
PN                765 core/potion.h  extern PN PN_cmp, PN_number, PN_name, PN_length, PN_size, PN_STR0;
PN                766 core/potion.h  extern PN pn_filenames;
PN                769 core/potion.h  static inline PN potion_type_default(char type) {
PN                780 core/potion.h  PN potion_error(Potion *, PN, long, long, PN);
PN                783 core/potion.h  PN potion_io_error(Potion *, const char *);
PN                784 core/potion.h  PN potion_type_error(Potion *, PN);
PN                785 core/potion.h  PN potion_type_error_want(Potion *, PN, const char *);
PN                788 core/potion.h  PNType potion_kind_of(PN);
PN                789 core/potion.h  void potion_p(Potion *, PN);
PN                790 core/potion.h  PN potion_str(Potion *, const char *);
PN                791 core/potion.h  PN potion_str2(Potion *, char *, size_t);
PN                792 core/potion.h  PN potion_strcat(Potion *P, char *str, char *str2);
PN                793 core/potion.h  PN potion_str_add(Potion *P, PN, PN, PN);
PN                794 core/potion.h  PN potion_str_format(Potion *, const char *, ...)
PN                796 core/potion.h  PN potion_byte_str(Potion *, const char *);
PN                797 core/potion.h  PN potion_byte_str2(Potion *, const char *, size_t len);
PN                798 core/potion.h  PN potion_bytes(Potion *, size_t);
PN                799 core/potion.h  PN potion_bytes_string(Potion *, PN, PN);
PN                800 core/potion.h  PN_SIZE pn_printf(Potion *, PN, const char *, ...)
PN                802 core/potion.h  void potion_bytes_obj_string(Potion *, PN, PN);
PN                803 core/potion.h  PN potion_bytes_append(Potion *, PN, PN, PN);
PN                804 core/potion.h  void potion_release(Potion *, PN);
PN                805 core/potion.h  PN potion_def_method(Potion *P, PN, PN, PN, PN);
PN                806 core/potion.h  PN potion_type_new(Potion *, PNType, PN);
PN                807 core/potion.h  PN potion_type_new2(Potion *, PNType, PN, PN);
PN                808 core/potion.h  void potion_type_call_is(PN, PN);
PN                809 core/potion.h  void potion_type_callset_is(PN, PN);
PN                810 core/potion.h  void potion_type_constructor_is(PN, PN);
PN                812 core/potion.h  PN potion_class(Potion *, PN, PN, PN);
PN                813 core/potion.h  PN potion_ivars(Potion *, PN, PN, PN);
PN                814 core/potion.h  PN potion_obj_get_call(Potion *, PN);
PN                815 core/potion.h  PN potion_obj_get_callset(Potion *, PN);
PN                816 core/potion.h  PN potion_obj_get(Potion *, PN, PN, PN);
PN                817 core/potion.h  PN potion_obj_set(Potion *, PN, PN, PN, PN);
PN                818 core/potion.h  PN potion_object_new(Potion *, PN, PN);
PN                819 core/potion.h  PN potion_delegated(Potion *, PN, PN);
PN                820 core/potion.h  PN potion_call(Potion *, PN, PN_SIZE, PN * volatile);
PN                821 core/potion.h  PN potion_lookup(Potion *, PN, PN, PN);
PN                822 core/potion.h  PN potion_bind(Potion *, PN, PN);
PN                823 core/potion.h  PN potion_message(Potion *, PN, PN);
PN                824 core/potion.h  PN potion_closure_new(Potion *, PN_F, PN, PN_SIZE);
PN                825 core/potion.h  PN potion_callcc(Potion *, PN, PN);
PN                826 core/potion.h  PN potion_ref(Potion *, PN);
PN                827 core/potion.h  PN potion_sig(Potion *, char *);
PN                828 core/potion.h  int potion_sig_find(Potion *, PN, PN);
PN                829 core/potion.h  PN potion_decimal(Potion *, char *, int);
PN                830 core/potion.h  PN potion_pow(Potion *, PN, PN, PN);
PN                831 core/potion.h  PN potion_srand(Potion *, PN, PN, PN);
PN                832 core/potion.h  PN potion_rand(Potion *, PN, PN);
PN                833 core/potion.h  PN potion_num_rand(Potion *, PN, PN);
PN                834 core/potion.h  PN potion_real(Potion *, double);
PN                835 core/potion.h  PN potion_sig_at(Potion *, PN, int);
PN                836 core/potion.h  PN potion_sig_name_at(Potion *, PN, int);
PN                837 core/potion.h  int potion_sig_arity(Potion *, PN);
PN                838 core/potion.h  int potion_sig_minargs(Potion *, PN);
PN                839 core/potion.h  PN potion_closure_arity(Potion *, PN, PN);
PN                840 core/potion.h  PN potion_closure_minargs(Potion *, PN, PN);
PN                841 core/potion.h  void potion_define_global(Potion *, PN, PN);
PN                843 core/potion.h  PN potion_obj_add(Potion *, PN, PN);
PN                844 core/potion.h  PN potion_obj_sub(Potion *, PN, PN);
PN                845 core/potion.h  PN potion_obj_mult(Potion *, PN, PN);
PN                846 core/potion.h  PN potion_obj_div(Potion *, PN, PN);
PN                847 core/potion.h  PN potion_obj_rem(Potion *, PN, PN);
PN                848 core/potion.h  PN potion_obj_bitn(Potion *, PN);
PN                849 core/potion.h  PN potion_obj_bitl(Potion *, PN, PN);
PN                850 core/potion.h  PN potion_obj_bitr(Potion *, PN, PN);
PN                851 core/potion.h  PN potion_any_cmp(Potion *, PN, PN, PN);
PN                853 core/potion.h  PN potion_tuple_empty(Potion *);
PN                854 core/potion.h  PN potion_tuple_with_size(Potion *, unsigned long);
PN                855 core/potion.h  PN potion_tuple_new(Potion *, PN);
PN                856 core/potion.h  PN potion_tuple_push(Potion *, PN, PN);
PN                857 core/potion.h  PN_SIZE potion_tuple_push_unless(Potion *, PN, PN);
PN                858 core/potion.h  PN_SIZE potion_tuple_find(Potion *, PN, PN);
PN                859 core/potion.h  PN potion_tuple_at(Potion *, PN, PN, PN);
PN                860 core/potion.h  PN potion_tuple_shift(Potion *, PN, PN);
PN                861 core/potion.h  PN potion_tuple_bsearch(Potion *, PN, PN, PN);
PN                862 core/potion.h  PN potion_tuple_ins_sort(Potion *, PN, PN, PN);
PN                863 core/potion.h  PN potion_table_empty(Potion *);
PN                864 core/potion.h  PN potion_table_put(Potion *, PN, PN, PN, PN);
PN                865 core/potion.h  PN potion_table_set(Potion *, PN, PN, PN);
PN                866 core/potion.h  PN potion_table_at(Potion *, PN, PN, PN);
PN                867 core/potion.h  PN potion_lick(Potion *, PN, PN, PN);
PN                868 core/potion.h  PN potion_source_compile(Potion *, PN, PN, PN, PN);
PN                869 core/potion.h  PN potion_source_load(Potion *, PN, PN);
PN                870 core/potion.h  PN potion_source_dump(Potion *, PN, PN, PN, PN);
PN                871 core/potion.h  PN potion_source_dumpbc(Potion *, PN, PN, PN);
PN                872 core/potion.h  PN potion_greg_parse(Potion *, PN);
PN                873 core/potion.h  PN potion_sig_string(Potion *, PN, PN);
PN                874 core/potion.h  PN potion_filename_find(Potion *, PN);
PN                875 core/potion.h  PN potion_filename_push(Potion *, PN);
PN                894 core/potion.h  void potion_loader_add(Potion *, PN path);
PN                896 core/potion.h  PN potion_any_is_nil(Potion *, PN, PN);
PN                897 core/potion.h  PN potion_num_string(Potion *, PN, PN);
PN                898 core/potion.h  PN potion_gc_reserved(Potion *, PN, PN);
PN                899 core/potion.h  PN potion_gc_actual(Potion *, PN, PN);
PN                900 core/potion.h  PN potion_gc_fixed(Potion *, PN, PN);
PN                902 core/potion.h  PN potion_parse(Potion *, PN, char*);
PN                903 core/potion.h  PN potion_vm_proto(Potion *, PN, PN, ...);
PN                904 core/potion.h  PN potion_vm_class(Potion *, PN, PN);
PN                905 core/potion.h  PN potion_vm(Potion *, PN, PN, PN, PN_SIZE, PN * volatile);
PN                906 core/potion.h  PN potion_eval(Potion *, PN);
PN                907 core/potion.h  PN potion_run(Potion *, PN, int);
PN                908 core/potion.h  PN_F potion_jit_proto(Potion *, PN);
PN                910 core/potion.h  PN potion_load(Potion *, PN, PN, PN);
PN                912 core/potion.h  PN potion_class_find(Potion *, PN);
PN                913 core/potion.h  PNType potion_class_type(Potion *, PN);
PN                 39 core/primitive.c PN potion_any_cmp(Potion *P, PN cl, PN self, PN value) {
PN                 46 core/primitive.c static PN potion_nil_cmp(Potion *P, PN cl, PN self, PN value) {
PN                 62 core/primitive.c static PN potion_bool_cmp(Potion *P, PN cl, PN self, PN value) {
PN                 78 core/primitive.c static PN potion_bool_number(Potion *P, PN closure, PN self) {
PN                 85 core/primitive.c static PN potion_bool_string(Potion *P, PN closure, PN self) {
PN                 91 core/primitive.c   PN nil_vt = PN_VTABLE(PN_TNIL);
PN                 92 core/primitive.c   PN boo_vt = PN_VTABLE(PN_TBOOLEAN);
PN                 20 core/string.c  void potion_add_str(Potion *P, PN s) {
PN                 26 core/string.c  PN potion_lookup_str(Potion *P, const char *str) {
PN                 33 core/string.c  PN potion_str(Potion *P, const char *str) {
PN                 34 core/string.c    PN val = potion_lookup_str(P, str);
PN                 41 core/string.c      potion_add_str(P, (PN)s);
PN                 42 core/string.c      val = (PN)s;
PN                 47 core/string.c  PN potion_str2(Potion *P, char *str, size_t len) {
PN                 48 core/string.c    PN exist = PN_NIL;
PN                 57 core/string.c      potion_add_str(P, (PN)s);
PN                 58 core/string.c      exist = (PN)s;
PN                 63 core/string.c  PN potion_strcat(Potion *P, char *str, char *str2) {
PN                 64 core/string.c    PN exist = PN_NIL;
PN                 74 core/string.c      potion_add_str(P, (PN)s);
PN                 75 core/string.c      exist = (PN)s;
PN                 80 core/string.c  PN potion_str_format(Potion *P, const char *format, ...) {
PN                 94 core/string.c    return (PN)s;
PN                 99 core/string.c  static PN potion_str_length(Potion *P, PN cl, PN self) {
PN                105 core/string.c  static PN potion_str_eval(Potion *P, PN cl, PN self) {
PN                111 core/string.c  static PN potion_str_number(Potion *P, PN cl, PN self) {
PN                132 core/string.c  static PN potion_str_string(Potion *P, PN cl, PN self) {
PN                139 core/string.c  static PN potion_str_print(Potion *P, PN cl, PN self) {
PN                198 core/string.c  inline static PN potion_str_slice_index(PN index, size_t len, int nilvalue) {
PN                221 core/string.c  static PN potion_str_slice(Potion *P, PN cl, PN self, PN start, PN end) {
PN                236 core/string.c  static PN potion_str_bytes(Potion *P, PN cl, PN self) {
PN                244 core/string.c  PN potion_str_add(Potion *P, PN cl, PN self, PN x) {
PN                246 core/string.c    PN str;
PN                259 core/string.c  static PN potion_str_at(Potion *P, PN cl, PN self, PN index) {
PN                268 core/string.c  static PN potion_str_ord(Potion *P, PN cl, PN self, PN index) {
PN                281 core/string.c  PN potion_byte_str(Potion *P, const char *str) {
PN                285 core/string.c  PN potion_byte_str2(Potion *P, const char *str, size_t len) {
PN                289 core/string.c    return (PN)s;
PN                292 core/string.c  PN potion_bytes(Potion *P, size_t len) {
PN                297 core/string.c    return (PN)s;
PN                300 core/string.c  PN_SIZE pn_printf(Potion *P, PN bytes, const char *format, ...) {
PN                323 core/string.c  void potion_bytes_obj_string(Potion *P, PN bytes, PN obj) {
PN                331 core/string.c  PN potion_bytes_append(Potion *P, PN cl, PN self, PN str) {
PN                333 core/string.c    PN fstr = potion_fwd(str);
PN                351 core/string.c  static PN potion_bytes_length(Potion *P, PN cl, PN self) {
PN                352 core/string.c    PN str = potion_fwd(self);
PN                359 core/string.c  PN potion_bytes_string(Potion *P, PN cl, PN self) {
PN                360 core/string.c    PN exist = potion_lookup_str(P, PN_STR_PTR(self = potion_fwd(self)));
PN                366 core/string.c      potion_add_str(P, (PN)s);
PN                367 core/string.c      exist = (PN)s;
PN                374 core/string.c  static PN potion_bytes_print(Potion *P, PN cl, PN self) {
PN                384 core/string.c  static PN potion_bytes_each(Potion *P, PN cl, PN self, PN block) {
PN                398 core/string.c  static PN potion_bytes_at(Potion *P, PN cl, PN self, PN index) {
PN                416 core/string.c  static PN potion_str_cmp(Potion *P, PN cl, PN self, PN str) {
PN                429 core/string.c    PN str_vt = PN_VTABLE(PN_TSTRING);
PN                430 core/string.c    PN byt_vt = PN_VTABLE(PN_TBYTES);
PN                 19 core/table.c   PN potion_table_string(Potion *P, PN cl, PN self) {
PN                 22 core/table.c     PN out = potion_byte_str(P, "(");
PN                 25 core/table.c       if (kh_exist(PN, t, k)) {
PN                 27 core/table.c         potion_bytes_obj_string(P, out, kh_key(PN, t, k));
PN                 29 core/table.c         potion_bytes_obj_string(P, out, kh_val(PN, t, k));
PN                 38 core/table.c   PN potion_table_empty(Potion *P) {
PN                 39 core/table.c     return (PN)PN_ALLOC_N(PN_TTABLE, struct PNTable, 0);
PN                 43 core/table.c   PN potion_table_cast(Potion *P, PN self) {
PN                 48 core/table.c         k = kh_put(PN, t, PN_NUM(i), &ret);
PN                 50 core/table.c         kh_val(PN, t, k) = v;
PN                 54 core/table.c       ((struct PNFwd *)self)->ptr = (PN)t;
PN                 56 core/table.c       self = (PN)t;
PN                 66 core/table.c   PN potion_table_at(Potion *P, PN cl, PN self, PN key) {
PN                 69 core/table.c     unsigned k = kh_get(PN, t, key);
PN                 70 core/table.c     if (k != kh_end(t)) return kh_val(PN, t, k);
PN                 78 core/table.c   PN potion_table_each(Potion *P, PN cl, PN self, PN block) {
PN                 83 core/table.c       if (kh_exist(PN, t, k)) {
PN                 84 core/table.c         PN_CLOSURE(block)->method(P, block, P->lobby, kh_key(PN, t, k), kh_val(PN, t, k));
PN                 94 core/table.c   PN potion_table_put(Potion *P, PN cl, PN self, PN key, PN value) {
PN                 98 core/table.c     unsigned k = kh_put(PN, t, key, &ret);
PN                100 core/table.c     kh_val(PN, t, k) = value;
PN                109 core/table.c   PN potion_table_remove(Potion *P, PN cl, PN self, PN key) {
PN                112 core/table.c     unsigned k = kh_get(PN, t, key);
PN                113 core/table.c     if (k != kh_end(t)) kh_del(PN, t, k);
PN                121 core/table.c   PN potion_table_set(Potion *P, PN self, PN key, PN value) {
PN                129 core/table.c   PN potion_table_length(Potion *P, PN cl, PN self) {
PN                139 core/table.c     vPN(Tuple) t = PN_ALLOC_N(PN_TTUPLE, struct PNTuple, size * sizeof(PN)); \
PN                142 core/table.c   PN potion_tuple_empty(Potion *P) {
PN                146 core/table.c     return (PN)t;
PN                149 core/table.c   PN potion_tuple_with_size(Potion *P, unsigned long size) {
PN                151 core/table.c     return (PN)t;
PN                154 core/table.c   PN potion_tuple_new(Potion *P, PN value) {
PN                158 core/table.c     return (PN)t;
PN                161 core/table.c   PN potion_tuple_push(Potion *P, PN tuple, PN value) {
PN                165 core/table.c       PN_REALLOC(t, PN_TTUPLE, struct PNTuple, sizeof(PN) * (t->alloc + 3)); // overalloc by 2
PN                178 core/table.c   PN potion_tuple_append(Potion *P, PN cl, PN self, PN value) {
PN                187 core/table.c   PN_SIZE potion_tuple_find(Potion *P, PN tuple, PN value) {
PN                197 core/table.c   PN_SIZE potion_tuple_push_unless(Potion *P, PN tuple, PN value) {
PN                216 core/table.c   PN potion_tuple_at(Potion *P, PN cl, PN self, PN index) {
PN                227 core/table.c   PN potion_tuple_clone(Potion *P, PN cl, PN self) {
PN                231 core/table.c     PN_MEMCPY_N(t2->set, t1->set, PN, t1->len);
PN                233 core/table.c     return (PN)t2;
PN                240 core/table.c   PN potion_tuple_each(Potion *P, PN cl, PN self, PN block) {
PN                255 core/table.c   PN potion_tuple_first(Potion *P, PN cl, PN self) {
PN                265 core/table.c   PN potion_tuple_join(Potion *P, PN cl, PN self, PN sep) {
PN                267 core/table.c     PN out = potion_byte_str(P, "");
PN                278 core/table.c   PN potion_tuple_last(Potion *P, PN cl, PN self) {
PN                288 core/table.c   PN potion_tuple_string(Potion *P, PN cl, PN self) {
PN                291 core/table.c     PN out = potion_byte_str(P, "(");
PN                307 core/table.c   PN potion_tuple_pop(Potion *P, PN cl, PN self) {
PN                310 core/table.c     PN obj = t->set[t->len - 1];
PN                311 core/table.c     PN_REALLOC(t, PN_TTUPLE, struct PNTuple, sizeof(PN) * (t->len - 1));
PN                323 core/table.c   PN potion_tuple_put(Potion *P, PN cl, PN self, PN key, PN value) {
PN                345 core/table.c   PN potion_tuple_unshift(Potion *P, PN cl, PN self, PN value) {
PN                349 core/table.c       PN_REALLOC(t, PN_TTUPLE, struct PNTuple, sizeof(PN) * (t->alloc + 3)); // overalloc by 2
PN                352 core/table.c     PN_MEMMOVE_N(&t->set[1], &t->set[0], PN, t->len);
PN                363 core/table.c   PN potion_tuple_shift(Potion *P, PN cl, PN self) {
PN                366 core/table.c     PN obj = t->set[0];
PN                367 core/table.c     PN_MEMMOVE_N(&t->set[0], &t->set[1], PN, t->len);
PN                368 core/table.c     PN_REALLOC(t, PN_TTUPLE, struct PNTuple, sizeof(PN) * (t->len - 1));
PN                377 core/table.c   PN potion_tuple_print(Potion *P, PN cl, PN self) {
PN                388 core/table.c   PN potion_tuple_length(Potion *P, PN cl, PN self) {
PN                396 core/table.c   PN potion_tuple_reverse(Potion *P, PN cl, PN self) {
PN                399 core/table.c     PN tuple = potion_tuple_with_size(P, len);
PN                419 core/table.c   PN potion_tuple_remove(Potion *P, PN cl, PN self, PN index) {
PN                424 core/table.c       PN data = potion_tuple_clone(P, cl, self);
PN                427 core/table.c         PN_MEMMOVE_N(&t->set[i], &t->set[i+1], PN, t->len - i);
PN                440 core/table.c   PN potion_tuple_delete(Potion *P, PN cl, PN self, PN index) {
PN                446 core/table.c         PN_MEMMOVE_N(&t->set[i], &t->set[i+1], PN, t->len - i);
PN                456 core/table.c   PN potion_tuple_nreverse(Potion *P, PN cl, PN self) {
PN                474 core/table.c   PN potion_tuple_bsearch(Potion *P, PN cl, PN self, PN x) {
PN                493 core/table.c   static void potion_sort_internal(Potion *P, PN cl, PN self, ///< sort data
PN                496 core/table.c   	       PN      cmp)  ///< cmp method for 2 values, returning -1,0,1
PN                506 core/table.c       PN pivot = GET(index);
PN                554 core/table.c   static PN potion_tuple_sort(Potion *P, PN cl,
PN                555 core/table.c   			    PN self, ///< sort tuple
PN                556 core/table.c   			    PN cmp)  ///< cmp method for 2 values, returning -1,0,1
PN                558 core/table.c     PN data = potion_tuple_clone(P, cl, self);
PN                574 core/table.c   PN potion_tuple_ins_sort(Potion *P, PN cl, PN self, PN cmp) {
PN                631 core/table.c   static PN potion_tuple_cmp(Potion *P, PN cl, PN self, PN value) {
PN                640 core/table.c         PN cmp;
PN                645 core/table.c   	  PN t1 = potion_tuple_clone(P,cl,self);
PN                646 core/table.c   	  PN t2 = potion_tuple_clone(P,cl,value);
PN                674 core/table.c   PN potion_lobby_list(Potion *P, PN cl, PN self, PN size) {
PN                679 core/table.c     PN tbl_vt = PN_VTABLE(PN_TTABLE);
PN                680 core/table.c     PN tpl_vt = PN_VTABLE(PN_TTUPLE);
PN                 17 core/table.h   typedef PN (*PN_MCACHE_FUNC)(unsigned int hash);
PN                 19 core/table.h   typedef PN (*PN_IVAR_FUNC)(PNUniq hash);
PN                 28 core/table.h     PN name;           ///< classes/types need to be found by name. \see potion_class_find
PN                 30 core/table.h     PN ivars;          ///< PNTuple of all our or the parents inherited vars
PN                 33 core/table.h     PN ctor;           ///< store the bound closure (or its parents)
PN                 34 core/table.h     PN call, callset;
PN                 46 core/table.h   KHASH_MAP_INIT_PN(PN, struct PNTable)
PN                 38 core/vm-ppc.c  #define RBP(x) (0x18 + (x * sizeof(PN)))
PN                135 core/vm-ppc.c    PN val = PN_TUPLE_AT(f->values, op.b);
PN                349 core/vm-ppc.c  void potion_ppc_ivars(Potion *P, PN ivars, PNAsm * volatile *asmp) {
PN                 18 core/vm-x86.c  #define RBP(x)  (0x100 - ((x + 1) * sizeof(PN)))
PN                 39 core/vm-x86.c          ASMI((PN)(x))
PN                 42 core/vm-x86.c          X86_PRE(); ASM(0xb8); ASMN((PN)(x)); 			/* movq x, %rax */ \
PN                127 core/vm-x86.c    if (rbp > sp - 2 && sp[2] == (PN)P) {
PN                128 core/vm-x86.c      printf("RBP = %lx (%lx), SP = %lx\n", (PN)rbp, *rbp, (PN)sp);
PN                149 core/vm-x86.c  	ASM(0x8b); ASM(0x55); ASM(2 * sizeof(PN));
PN                155 core/vm-x86.c  	ASM(0xc7); ASM(0x44); ASM(0x24); ASM(argn * sizeof(PN)); ASMI(regn); //mov $regn, argn(%esp)
PN                161 core/vm-x86.c  	ASM(0x89); ASM(0x54); ASM(0x24); ASM(argn * sizeof(PN)); //mov %edx, argn(%esp)
PN                163 core/vm-x86.c  	ASM(0x8b); ASM(0x55); ASM(argn * sizeof(PN));
PN                221 core/vm-x86.c  	  X86_PRE(); ASM(0x89); ASM(0x5c); ASM(0x24); ASM((argn - 6) * sizeof(PN)); // mov %rbx N(%rsp)
PN                224 core/vm-x86.c  	X86_PRE(); ASM(0x8b); ASM(0x5d); ASM((argn - 4) * sizeof(PN));
PN                275 core/vm-x86.c        ASM(sizeof(struct PNClosure) + ((upi + 1) * sizeof(PN))); // 0x30(%rax)
PN                295 core/vm-x86.c  PN potion_f_values(Potion *P, PN cl) {
PN                306 core/vm-x86.c  			     + (op.b * sizeof(PN)));	// add N,%rax
PN                755 core/vm-x86.c  	PN sig = potion_sig_at(P, c->sig, i-2);
PN                784 core/vm-x86.c  PN potion_f_protos(Potion *P, PN cl, PN i) {
PN                785 core/vm-x86.c    PN p = PN_PROTO(PN_CLOSURE(cl)->data[0])->protos;
PN                786 core/vm-x86.c    PN proto = PN_TUPLE_AT(p, i);
PN                791 core/vm-x86.c    return (PN)c;
PN                796 core/vm-x86.c    PN proto = PN_TUPLE_AT(f->protos, op.b);
PN                822 core/vm-x86.c        ASM(sizeof(struct PNClosure) + (sizeof(PN) * (i + 1)));
PN                847 core/vm-x86.c      if (kh_exist(PN, vt->methods, k - 1)) {
PN                849 core/vm-x86.c          ASMI(PN_UNIQ(kh_key(PN, vt->methods, k - 1)));		// cmp NAME %edi
PN                851 core/vm-x86.c        X86_PRE(); ASM(0xB8); ASMN(kh_val(PN, vt->methods, k - 1)); // mov CL %rax
PN                865 core/vm-x86.c  void potion_x86_ivars(Potion *P, PN ivars, PNAsm * volatile *asmp) {
PN                 97 core/vm.c      static PN (*pn_readline)(Potion *, PN, PN, PN);
PN                108 core/vm.c      #define STRINGIFY(_obj) ({PN str=potion_send(_obj,PN_string);str?PN_STR_PTR(str):"";})
PN                151 core/vm.c      PN potion_vm_proto(Potion *P, PN cl, PN self, ...) {
PN                152 core/vm.c        PN ary = PN_NIL;
PN                167 core/vm.c            PN s = potion_sig_at(P, f->sig, i);
PN                169 core/vm.c              ary = PN_PUSH(ary, va_arg(args, PN));
PN                171 core/vm.c              PN arg = va_arg(args, PN);
PN                188 core/vm.c        return potion_vm(P, (PN)f, self, ary,
PN                193 core/vm.c      PN potion_vm_class(Potion *P, PN cl, PN self) {
PN                196 core/vm.c          PN ivars = potion_tuple_with_size(P, PN_TUPLE_LEN(proto->paths));
PN                211 core/vm.c      PN_F potion_jit_proto(Potion *P, PN proto) {
PN                229 core/vm.c            PN proto2 = (PN)tp->set[j];
PN                246 core/vm.c        rsp = (need + protoargs) * sizeof(PN);
PN                256 core/vm.c            PN v = (PN)t->set[i];
PN                354 core/vm.c      static PN potion_sig_check(Potion *P, struct PNClosure *cl, int arity, int numargs) {
PN                372 core/vm.c      PN potion_debug(Potion *P, struct PNProto *f, PN self, PN_OP op, PN* reg, PN* stack) {
PN                374 core/vm.c          PN ast;
PN                375 core/vm.c          PN *upvals, *locals;
PN                376 core/vm.c          PN *current = stack;
PN                388 core/vm.c          PN flags = (PN)P->flags; P->flags = EXEC_VM; //turn off tracing,debugging,...
PN                391 core/vm.c          PN debug = potion_message(P, self, PN_STR("debug")); // find debug object =>0
PN                393 core/vm.c          PN loopmeth = potion_message(P, debug, PN_STR("loop"));
PN                394 core/vm.c          PN code = potion_vm_proto(P, (PN)PN_CLOSURE_F(loopmeth), debug, ast, (PN)f);
PN                399 core/vm.c          PN code = (PN)PN_AST_(CODE,
PN                402 core/vm.c      	  PN_AST_(LIST, PN_PUSH(PN_TUP(PN_AST_(MSG, ast)), PN_AST_(MSG, (PN)f))))))));
PN                403 core/vm.c          code = potion_send(code, PN_compile, (PN)f, PN_NIL);
PN                420 core/vm.c      	PN fn = PN_TUPLE_AT(pn_filenames, t->loc.fileno);
PN                425 core/vm.c      	PN str = pn_readline(P, self, self, PN_STRN("> ", 2));
PN                453 core/vm.c      	  PN flags = (PN)P->flags; P->flags = (Potion_Flags)EXEC_VM;
PN                459 core/vm.c      	  PN code = potion_parse(P, potion_send(str, PN_STR("bytes")), "-d");
PN                461 core/vm.c                PN oldsig = f->sig;
PN                469 core/vm.c                cl = (struct PNClosure *)potion_closure_new(P, (PN_F)potion_vm_proto, (PN)sig,
PN                471 core/vm.c                cl->data[0] = (PN)f;
PN                479 core/vm.c                      cl->data[i+1] = locals[op.b] = (PN)potion_ref(P, locals[op.b]);
PN                487 core/vm.c                printf("%s\n", AS_STR(debug_fn(P, (PN)cl, code, regs, f->locals,
PN                501 core/vm.c      PN potion_vm(Potion *P, PN proto, PN self, PN vargs, PN_SIZE upc, PN *upargs) {
PN                505 core/vm.c        PN stack[STACK_MAX];
PN                506 core/vm.c        PN val = PN_NIL;
PN                511 core/vm.c        PN *args = NULL, *upvals, *locals, *reg;
PN                512 core/vm.c        PN *current = stack;
PN                516 core/vm.c          pn_readline = (PN (*)(Potion *, PN, PN, PN))dlsym(RTLD_DEFAULT, "pn_readline");
PN                520 core/vm.c            pn_readline = (PN (*)(Potion *, PN, PN, PN))dlsym(handle, "pn_readline");
PN                529 core/vm.c        memset((void*)stack, 0, STACK_MAX*sizeof(PN));
PN                554 core/vm.c              PN s = potion_sig_name_at(P, f->sig, argx);
PN                601 core/vm.c            CASE(LOADPN, reg[op.a] = (PN)op.b )
PN                634 core/vm.c              PN attr = op.b > op.a ? reg[op.a + 1] : PN_NIL;
PN                635 core/vm.c              PN inner = op.b > op.a + 1 ? reg[op.b] : PN_NIL;
PN                707 core/vm.c      	    PN sig = cl->sig;
PN                713 core/vm.c      		PN err = potion_sig_check(P, cl, arity, numargs);
PN                716 core/vm.c                        PN s = potion_sig_at(P, sig, i);
PN                727 core/vm.c                    PN argt = potion_tuple_with_size(P, (op.b - op.a) - 1);
PN                738 core/vm.c      		PN err = potion_sig_check(P, cl, arity, numargs);
PN                741 core/vm.c                        PN s = potion_sig_at(P, sig, i);
PN                753 core/vm.c                    current[-2] = (PN)f;
PN                754 core/vm.c                    current[-1] = (PN)pos;
PN                815 core/vm.c                  cl->data[i+1] = locals[op.b] = (PN)potion_ref(P, locals[op.b]);
PN                820 core/vm.c              reg[areg] = (PN)cl;
PN                 75 front/p2.c           (int)sizeof(PN), (int)sizeof(struct PNObject), (int)sizeof(struct PNTuple),
PN                 93 front/p2.c     static PN p2_cmd_exec(Potion *P, PN buf, char *filename, char *compile) {
PN                 94 front/p2.c       PN code = p2_source_load(P, PN_NIL, buf);
PN                119 front/p2.c         PN val;
PN                120 front/p2.c         PN cl = potion_closure_new(P, (PN_F)potion_jit_proto(P, code), PN_NIL, 1);
PN                138 front/p2.c       PN buf;
PN                156 front/p2.c         PN code;
PN                216 front/p2.c           void *scanptr = (void *)((char *)P->mem->old_lo + (sizeof(PN) * 2));
PN                217 front/p2.c           while ((PN)scanptr < (PN)P->mem->old_cur) {
PN                231 front/p2.c     	if ((PN)scanptr > (PN)P->mem->old_cur) {
PN                252 front/p2.c       PN buf = PN_NIL;
PN                354 front/p2.c         PN args = PN_TUP0();
PN                386 front/p2.c           PN (*potion_parser)(Potion *, PN, char*);
PN                388 front/p2.c           potion_parser = (PN (*)(Potion *, PN, char*))dlsym(handle, "potion_parse");
PN                389 front/p2.c           PN code = potion_parser(P, potion_byte_str(P,
PN                 54 front/potion.c       (int)sizeof(PN), (int)sizeof(struct PNObject), (int)sizeof(struct PNTuple),
PN                 55 front/potion.c       (int)(sizeof(PN) + sizeof(struct PNTuple)), (int)sizeof(struct PNTable));
PN                 73 front/potion.c static PN potion_cmd_exec(Potion *P, PN buf, char *filename, char *compile, char *addcode) {
PN                 76 front/potion.c   PN code = PN_NIL;
PN                138 front/potion.c     PN val;
PN                139 front/potion.c     PN cl = potion_closure_new(P, (PN_F)potion_jit_proto(P, code), PN_NIL, 1);
PN                164 front/potion.c     PN opts;
PN                216 front/potion.c     void *scanptr = (void *)((char *)P->mem->old_lo + (sizeof(PN) * 2));
PN                217 front/potion.c     while ((PN)scanptr < (PN)P->mem->old_cur) {
PN                231 front/potion.c       if ((PN)scanptr > (PN)P->mem->old_cur) {
PN                248 front/potion.c   PN out = potion_bytes(P, 0);
PN                267 front/potion.c   PN buf = PN_NIL;
PN                376 front/potion.c     PN args = PN_TUP0();
PN                389 front/potion.c     PN args = PN_TUP0();
PN                102 lib/aio.c        if (cb) cb->method(wrap->P, (PN)cb, (PN)data, potion_str(wrap->P, filename),
PN                106 lib/aio.c      static PN aio_error(Potion *P, char *name, int status) {
PN                127 lib/aio.c        return r ? aio_error(P, "Aio_"_XSTR(T), r) : (PN)data;
PN                199 lib/aio.c        PN data = (PN)((char*)wrap - sizeof(struct PNData)); \
PN                202 lib/aio.c        if (cb) cb->method(P, (PN)cb, data, PN_NUM(status))
PN                208 lib/aio.c        PN data = (PN)((char*)wrap - sizeof(struct PNData));
PN                213 lib/aio.c        if (cb) cb->method(P, (PN)cb, (PN)data, PN_NUM(status), potion_ref(wrap->P, (PN)res));
PN                220 lib/aio.c      static PN aio_tcp_new(Potion *P, PN cl, PN self, PN loop) {
PN                237 lib/aio.c        return (PN)data;
PN                244 lib/aio.c      static PN aio_udp_new(Potion *P, PN cl, PN self, PN loop) {
PN                262 lib/aio.c        return (PN)data;
PN                269 lib/aio.c      static PN aio_udp_get(Potion *P, PN cl, PN self, PN key, PN value) {
PN                272 lib/aio.c        PN v = potion_obj_get(P, 0, self, key);
PN                282 lib/aio.c      static PN aio_udp_set(Potion *P, PN cl, PN self, PN key, PN value) {
PN                324 lib/aio.c        return (PN)self;
PN                332 lib/aio.c      static PN aio_prepare_new(Potion *P, PN cl, PN self, PN loop) {
PN                338 lib/aio.c      static PN aio_check_new(Potion *P, PN cl, PN self, PN loop) {
PN                344 lib/aio.c      static PN aio_idle_new(Potion *P, PN cl, PN self, PN loop) {
PN                351 lib/aio.c      static PN aio_timer_new(Potion *P, PN cl, PN self, PN loop) {
PN                357 lib/aio.c      static PN aio_fs_poll_new(Potion *P, PN cl, PN self, PN loop) {
PN                399 lib/aio.c      static PN aio_signal_new(Potion *P, PN cl, PN self, PN loop) {
PN                405 lib/aio.c      static PN aio_loop_new(Potion *P, PN cl, PN self) {
PN                413 lib/aio.c        return (PN)data;
PN                417 lib/aio.c      static PN aio_handle_new(Potion *P, PN cl, PN self) {
PN                419 lib/aio.c        return (PN)data;
PN                423 lib/aio.c      static PN aio_stream_new(Potion *P, PN cl, PN self) {
PN                425 lib/aio.c        return (PN)data;
PN                429 lib/aio.c      static PN aio_req_new(Potion *P, PN cl, PN self) {
PN                431 lib/aio.c        return (PN)data;
PN                435 lib/aio.c      static PN aio_connect_new(Potion *P, PN cl, PN self) {
PN                437 lib/aio.c        return (PN)data;
PN                441 lib/aio.c      static PN aio_write_new(Potion *P, PN cl, PN self) {
PN                443 lib/aio.c        return (PN)data;
PN                447 lib/aio.c      static PN aio_shutdown_new(Potion *P, PN cl, PN self) {
PN                449 lib/aio.c        return (PN)data;
PN                453 lib/aio.c      static PN aio_udp_send_new(Potion *P, PN cl, PN self) {
PN                455 lib/aio.c        return (PN)data;
PN                469 lib/aio.c      static PN aio_fs_new(Potion *P, PN cl, PN self) {
PN                471 lib/aio.c        return (PN)data;
PN                475 lib/aio.c      static PN aio_work_new(Potion *P, PN cl, PN self) {
PN                477 lib/aio.c        return (PN)data;
PN                492 lib/aio.c      static PN aio_getaddrinfo_new(Potion *P, PN cl, PN self,
PN                493 lib/aio.c                                    PN cb, PN node, PN service, PN hints, PN loop)
PN                506 lib/aio.c        return (PN)data;
PN                508 lib/aio.c      static PN aio_process_options(Potion *P, PN cl, PN self)
PN                511 lib/aio.c        return (PN)data;
PN                513 lib/aio.c      static PN aio_cpu_info_new(Potion *P, PN cl, PN self) {
PN                515 lib/aio.c        return (PN)data;
PN                517 lib/aio.c      static PN aio_interface_address_new(Potion *P, PN cl, PN self) {
PN                519 lib/aio.c        return (PN)data;
PN                527 lib/aio.c      static PN aio_tty_new(Potion *P, PN cl, PN self, PN file, PN readable, PN loop) {
PN                529 lib/aio.c        PN_CHECK_INT((PN)PN_DATA(file));
PN                533 lib/aio.c        return (PN)data;
PN                540 lib/aio.c      static PN aio_pipe_new(Potion *P, PN cl, PN self, PN ipc, PN loop) {
PN                545 lib/aio.c        return (PN)data;
PN                556 lib/aio.c      static PN aio_barrier_new(Potion *P, PN cl, PN self, PN count) {
PN                561 lib/aio.c        return (PN)data;
PN                566 lib/aio.c      static PN aio_sem_new(Potion *P, PN cl, PN self, PN value) {
PN                571 lib/aio.c        return (PN)data;
PN                578 lib/aio.c      static PN aio_fs_event_new(Potion *P, PN cl, PN self, PN filename, PN cb, PN flags, PN loop) {
PN                588 lib/aio.c        return (PN)data;
PN                594 lib/aio.c      static PN aio_async_new(Potion *P, PN cl, PN self, PN cb, PN loop) {
PN                599 lib/aio.c        return (PN)data;
PN                601 lib/aio.c      static PN aio_cond_new(Potion *P, PN cl, PN self) {
PN                605 lib/aio.c        return (PN)data;
PN                607 lib/aio.c      static PN aio_mutex_new(Potion *P, PN cl, PN self) {
PN                611 lib/aio.c        return (PN)data;
PN                613 lib/aio.c      static PN aio_rwlock_new(Potion *P, PN cl, PN self) {
PN                617 lib/aio.c        return (PN)data;
PN                631 lib/aio.c        PN data = (PN)((char*)wrap - sizeof(struct PNData));
PN                641 lib/aio.c        if (cb) cb->method(P, (PN)cb, data, PN_NUM(status));
PN                681 lib/aio.c        PN data = (PN)((char*)wrap - sizeof(struct PNData));
PN                687 lib/aio.c        if (cb) cb->method(P, (PN)cb, (PN)data, PN_NUM(status),
PN                688 lib/aio.c      		     potion_ref(wrap->P, (PN)prev), potion_ref(wrap->P, (PN)curr));
PN                695 lib/aio.c        PN data = (PN)((char*)wrap - sizeof(struct PNData));
PN                699 lib/aio.c          cb->method(P, (PN)cb, (PN)data, PN_NUM(nread),
PN                706 lib/aio.c        PN data = (PN)((char*)wrap - sizeof(struct PNData));
PN                710 lib/aio.c          cb->method(P, (PN)cb, (PN)data, PN_NUM(nread),
PN                717 lib/aio.c        PN data = (PN)((char*)wrap - sizeof(struct PNData));
PN                720 lib/aio.c        if (cb) cb->method(P, (PN)cb, (PN)data, (PN)arg);
PN                726 lib/aio.c        PN data = (PN)((char*)wrap - sizeof(struct PNData));
PN                729 lib/aio.c        if (cb) cb->method(P, (PN)cb, (PN)data);
PN                735 lib/aio.c        PN data = (PN)((char*)wrap - sizeof(struct PNData));
PN                738 lib/aio.c        if (cb) cb->method(P, (PN)cb, (PN)data);
PN                745 lib/aio.c      static PN
PN                746 lib/aio.c      aio_version(Potion *P, PN cl, PN self) {
PN                752 lib/aio.c      static PN
PN                753 lib/aio.c      aio_version_string(Potion *P, PN cl, PN self) {
PN                756 lib/aio.c      static PN aio_size(Potion *P, PN cl, PN self) {
PN                762 lib/aio.c      static PN
PN                763 lib/aio.c      aio_run(Potion *P, PN cl, PN self, PN loop, PN mode) {
PN                775 lib/aio.c      static PN
PN                776 lib/aio.c      aio_walk(Potion *P, PN cl, PN self, PN loop, PN cb, PN arg) {
PN                790 lib/aio.c      static PN
PN                791 lib/aio.c      aio_tcp_open(Potion *P, PN cl, PN tcp, PN sock) {
PN                798 lib/aio.c      static PN
PN                799 lib/aio.c      aio_tcp_nodelay(Potion *P, PN cl, PN tcp, PN enable) {
PN                806 lib/aio.c      static PN
PN                807 lib/aio.c      aio_tcp_keepalive(Potion *P, PN cl, PN tcp, PN enable, PN delay) {
PN                815 lib/aio.c      static PN
PN                816 lib/aio.c      aio_tcp_simultaneous_accepts(Potion *P, PN cl, PN tcp, PN enable) {
PN                823 lib/aio.c      static PN
PN                824 lib/aio.c      aio_tcp_bind(Potion *P, PN cl, PN tcp, PN addr, PN port) {
PN                843 lib/aio.c      static PN
PN                844 lib/aio.c      aio_tcp_bind6(Potion *P, PN cl, PN tcp, PN addr, PN port) {
PN                855 lib/aio.c      static PN
PN                856 lib/aio.c      aio_tcp_getsockname(Potion *P, PN cl, PN tcp) {
PN                863 lib/aio.c      static PN
PN                864 lib/aio.c      aio_tcp_getpeername(Potion *P, PN cl, PN tcp) {
PN                871 lib/aio.c      static PN
PN                872 lib/aio.c      aio_tcp_connect(Potion *P, PN cl, PN tcp, PN req, PN addr, PN port, PN cb) {
PN                893 lib/aio.c      static PN
PN                894 lib/aio.c      aio_tcp_connect6(Potion *P, PN cl, PN tcp, PN req, PN addr, PN port, PN cb) {
PN                909 lib/aio.c      static PN
PN                910 lib/aio.c      aio_udp_open(Potion *P, PN cl, PN udp, PN sockfd) {
PN                917 lib/aio.c      static PN
PN                918 lib/aio.c      aio_udp_bind(Potion *P, PN cl, PN udp, PN addr, PN port, PN flags) {
PN                937 lib/aio.c      static PN
PN                938 lib/aio.c      aio_udp_bind6(Potion *P, PN cl, PN udp, PN addr, PN port, PN flags) {
PN                950 lib/aio.c      static PN
PN                951 lib/aio.c      aio_udp_getsockname(Potion *P, PN cl, PN udp) {
PN                958 lib/aio.c      static PN
PN                959 lib/aio.c      aio_udp_set_membership(Potion *P, PN cl, PN udp, PN mcaddr, PN ifaddr, PN membership) {
PN                971 lib/aio.c      static PN
PN                972 lib/aio.c      aio_udp_set_multicast_loop(Potion *P, PN cl, PN udp, PN on) {
PN                981 lib/aio.c      static PN
PN                982 lib/aio.c      aio_udp_set_multicast_ttl(Potion *P, PN cl, PN udp, PN ttl) {
PN                990 lib/aio.c      static PN
PN                991 lib/aio.c      aio_udp_set_broadcast(Potion *P, PN cl, PN udp, PN on) {
PN               1000 lib/aio.c      static PN
PN               1001 lib/aio.c      aio_udp_set_ttl(Potion *P, PN cl, PN udp, PN ttl) {
PN               1010 lib/aio.c      static PN
PN               1011 lib/aio.c      aio_udp_send(Potion *P, PN cl, PN udp, PN req, PN buf, PN bufcnt, PN addr, PN port, PN cb) {
PN               1027 lib/aio.c      static PN
PN               1028 lib/aio.c      aio_udp_send6(Potion *P, PN cl, PN udp, PN req, PN buf, PN bufcnt, PN addr, PN port, PN cb) {
PN               1084 lib/aio.c          cb->method(wrap->P, (PN)cb, (PN)data, PN_NUM(nread),
PN               1091 lib/aio.c      static PN
PN               1092 lib/aio.c      aio_udp_recv_start(Potion *P, PN cl, PN udp, PN cb) {
PN               1099 lib/aio.c      static PN
PN               1100 lib/aio.c      aio_udp_recv_stop(Potion *P, PN cl, PN udp) {
PN               1106 lib/aio.c      static PN
PN               1107 lib/aio.c      aio_prepare_start(Potion *P, PN cl, PN self, PN cb) {
PN               1114 lib/aio.c      static PN
PN               1115 lib/aio.c      aio_prepare_stop(Potion *P, PN cl, PN self) {
PN               1121 lib/aio.c      static PN
PN               1122 lib/aio.c      aio_check_start(Potion *P, PN cl, PN self, PN cb) {
PN               1128 lib/aio.c      static PN
PN               1129 lib/aio.c      aio_check_stop(Potion *P, PN cl, PN self) {
PN               1135 lib/aio.c      static PN
PN               1136 lib/aio.c      aio_idle_start(Potion *P, PN cl, PN self, PN cb) {
PN               1143 lib/aio.c      static PN
PN               1144 lib/aio.c      aio_idle_stop(Potion *P, PN cl, PN self) {
PN               1152 lib/aio.c      static PN
PN               1153 lib/aio.c      aio_tty_set_mode(Potion *P, PN cl, PN tty, PN mode) {
PN               1162 lib/aio.c      static PN
PN               1163 lib/aio.c      aio_tty_reset_mode(Potion *P, PN cl, PN tty) {
PN               1168 lib/aio.c      static PN
PN               1169 lib/aio.c      aio_tty_get_winsize(Potion *P, PN cl, PN tty) {
PN               1177 lib/aio.c      static PN
PN               1178 lib/aio.c      aio_guess_handle(Potion *P, PN cl, PN file) {
PN               1185 lib/aio.c      static PN
PN               1186 lib/aio.c      aio_pipe_open(Potion *P, PN cl, PN pipe, PN file) {
PN               1193 lib/aio.c      static PN
PN               1194 lib/aio.c      aio_pipe_bind(Potion *P, PN cl, PN pipe, PN name) {
PN               1201 lib/aio.c      static PN
PN               1202 lib/aio.c      aio_pipe_connect(Potion *P, PN cl, PN pipe, PN req, PN name, PN cb) {
PN               1212 lib/aio.c      static PN
PN               1213 lib/aio.c      aio_pipe_pending_instances(Potion *P, PN cl, PN pipe, PN count) {
PN               1220 lib/aio.c      static PN
PN               1221 lib/aio.c      aio_shutdown(Potion *P, PN cl, PN stream, PN req, PN cb) {
PN               1232 lib/aio.c      static PN
PN               1233 lib/aio.c      aio_write(Potion *P, PN cl, PN stream, PN req, PN buf, PN bufcnt, PN cb) {
PN               1244 lib/aio.c      static PN
PN               1245 lib/aio.c      aio_listen(Potion *P, PN cl, PN stream, PN backlog, PN cb) {
PN               1261 lib/aio.c      static PN
PN               1262 lib/aio.c      aio_accept(Potion *P, PN cl, PN stream, PN client) {
PN               1278 lib/aio.c      static PN
PN               1279 lib/aio.c      aio_read_start(Potion *P, PN cl, PN self, PN cb) {
PN               1286 lib/aio.c      static PN
PN               1287 lib/aio.c      aio_read_stop(Potion *P, PN cl, PN self) {
PN               1293 lib/aio.c      static PN
PN               1294 lib/aio.c      aio_read2_start(Potion *P, PN cl, PN self, PN cb) {
PN               1307 lib/aio.c      static PN
PN               1308 lib/aio.c      aio_write2(Potion *P, PN cl, PN stream, PN req, PN buf, PN bufcnt, PN send_handle, PN cb) {
PN               1321 lib/aio.c      static PN
PN               1322 lib/aio.c      aio_is_readable(Potion *P, PN cl, PN stream) {
PN               1328 lib/aio.c      static PN
PN               1329 lib/aio.c      aio_is_writable(Potion *P, PN cl, PN stream) {
PN               1340 lib/aio.c      static PN
PN               1341 lib/aio.c      aio_is_closing(Potion *P, PN cl, PN stream) {
PN               1349 lib/aio.c      static PN
PN               1350 lib/aio.c      aio_is_active(Potion *P, PN cl, PN self) {
PN               1358 lib/aio.c      static PN
PN               1359 lib/aio.c      aio_async_send(Potion *P, PN cl, PN self) {
PN               1364 lib/aio.c      static PN
PN               1365 lib/aio.c      aio_timer_start(Potion *P, PN cl, PN self, PN cb, PN timeout, PN repeat) {
PN               1374 lib/aio.c      static PN
PN               1375 lib/aio.c      aio_timer_stop(Potion *P, PN cl, PN self) {
PN               1385 lib/aio.c      static PN
PN               1386 lib/aio.c      aio_timer_again(Potion *P, PN cl, PN self) {
PN               1393 lib/aio.c      static PN
PN               1394 lib/aio.c      aio_timer_get_repeat(Potion *P, PN cl, PN self) {
PN               1404 lib/aio.c      static PN
PN               1405 lib/aio.c      aio_timer_set_repeat(Potion *P, PN cl, PN self, PN repeat) {
PN               1416 lib/aio.c      static PN
PN               1417 lib/aio.c      aio_handle_uvsize(Potion *P, PN cl, PN self) {
PN               1424 lib/aio.c      static PN
PN               1425 lib/aio.c      aio_req_uvsize(Potion *P, PN cl, PN self) {
PN               1441 lib/aio.c      static PN
PN               1442 lib/aio.c      aio_close(Potion *P, PN cl, PN self, PN cb) {
PN               1450 lib/aio.c      static PN
PN               1451 lib/aio.c      aio_signal_start(Potion *P, PN cl, PN self, PN cb, PN signum) {
PN               1459 lib/aio.c      static PN
PN               1460 lib/aio.c      aio_signal_stop(Potion *P, PN cl, PN self) {
PN               1470 lib/aio.c      static PN aio_process_options_get(Potion *P, PN cl, PN self, PN key) {
PN               1473 lib/aio.c        PN v = potion_obj_get(P, 0, self, key);
PN               1484 lib/aio.c      static PN aio_process_options_set(Potion *P, PN cl, PN self, PN key, PN value) {
PN               1514 lib/aio.c        return (PN)self;
PN               1521 lib/aio.c      static PN aio_spawn(Potion *P, PN cl, PN self, PN options, PN loop) {
PN               1526 lib/aio.c        uv_process_options_t opts; PN v;
PN               1534 lib/aio.c          PN args = potion_bytes(P, size);
PN               1540 lib/aio.c        return (PN)data;
PN               1545 lib/aio.c      static PN aio_process_kill(Potion *P, PN cl, PN self, PN signum) {
PN               1554 lib/aio.c      static PN aio_kill(Potion *P, PN cl, PN self, PN pid, PN signum) {
PN               1563 lib/aio.c      static PN aio_fs_cleanup(Potion *P, PN cl, PN self) {
PN               1572 lib/aio.c      static PN aio_fs_close(Potion *P, PN cl, PN self, PN fd, PN cb, PN loop) {
PN               1586 lib/aio.c      static PN aio_fs_open(Potion *P, PN cl, PN self, PN path, PN flags, PN mode, PN cb, PN loop) {
PN               1603 lib/aio.c      static PN aio_fs_read(Potion *P, PN cl, PN self, PN fd, PN buf, PN length, PN offset, PN cb, PN loop) {
PN               1618 lib/aio.c      static PN aio_fs_unlink(Potion *P, PN cl, PN self, PN path, PN cb, PN loop) {
PN               1631 lib/aio.c      static PN aio_fs_write(Potion *P, PN cl, PN self, PN fd, PN buf, PN offset, PN cb, PN loop) {
PN               1646 lib/aio.c      static PN aio_fs_mkdir(Potion *P, PN cl, PN self, PN path, PN mode, PN cb, PN loop) {
PN               1659 lib/aio.c      static PN aio_fs_rmdir(Potion *P, PN cl, PN self, PN path, PN cb, PN loop) {
PN               1672 lib/aio.c      static PN aio_fs_readdir(Potion *P, PN cl, PN self, PN path, PN flags, PN cb, PN loop) {
PN               1685 lib/aio.c      static PN aio_fs_stat(Potion *P, PN cl, PN self, PN path, PN cb, PN loop) {
PN               1697 lib/aio.c      static PN aio_fs_fstat(Potion *P, PN cl, PN self, PN fd, PN cb, PN loop) {
PN               1711 lib/aio.c      static PN aio_fs_rename(Potion *P, PN cl, PN self, PN path, PN newpath, PN cb, PN loop) {
PN               1724 lib/aio.c      static PN aio_fs_fsync(Potion *P, PN cl, PN self, PN fd, PN cb, PN loop) {
PN               1736 lib/aio.c      static PN aio_fs_fdatasync(Potion *P, PN cl, PN self, PN fd, PN cb, PN loop) {
PN               1750 lib/aio.c        PN aio_vt = potion_class(P, 0, 0, 0);
PN               1754 lib/aio.c        PN aio_##T##_vt = potion_class(P, 0, paren##_vt, 0);	\
PN               1761 lib/aio.c        PN aio_##T##_vt = potion_class(P, 0, paren##_vt, 0);	\
PN               1830 lib/aio.c        PN udp_ivars = potion_tuple_with_size(P, 5); //sorted list of path names
PN               1838 lib/aio.c        PN aio_udp_vt = potion_class(P, 0, aio_stream_vt, udp_ivars);
PN               1847 lib/aio.c        PN po_ivars = potion_tuple_with_size(P, 5); //sorted list of path names
PN               1857 lib/aio.c        PN aio_po_vt = potion_class(P, 0, aio_vt, po_ivars);
PN               1895 lib/aio.c        PN aio_process_vt = potion_class(P, 0, aio_vt, 0); // with spawn as ctor
PN                 23 lib/buffile.c    PN     path;
PN                 33 lib/buffile.c  PN potion_buffile_fopen(Potion *P, PN cl, PN ign, PN path, PN modestr) {
PN                 42 lib/buffile.c    return (PN)self;
PN                 48 lib/buffile.c  PN potion_buffile_tmpfile(Potion *P, PN cl, PN ign) {
PN                 56 lib/buffile.c    return (PN)self;
PN                 64 lib/buffile.c  PN potion_buffile_fdopen(Potion *P, PN cl, pn_ffile self, PN fd, PN modestr) {
PN                 71 lib/buffile.c    return (PN)self;
PN                 83 lib/buffile.c  PN potion_buffile_freopen(Potion *P, PN cl, pn_ffile self, PN path, PN modestr, pn_ffile stream) {
PN                 92 lib/buffile.c    return (PN)self;
PN                104 lib/buffile.c  PN potion_buffile_fmemopen(Potion *P, PN cl, PN buf, PN modestr) {
PN                113 lib/buffile.c    return (PN)self;
PN                120 lib/buffile.c  PN potion_buffile_fclose(Potion *P, PN cl, pn_ffile self) {
PN                126 lib/buffile.c  PN potion_buffile_fgetc(Potion *P, PN cl, pn_ffile self) {
PN                133 lib/buffile.c  PN potion_buffile_fgets(Potion *P, PN cl, pn_ffile self) {
PN                145 lib/buffile.c  PN potion_buffile_fread(Potion *P, PN cl, pn_ffile self, PN buf, PN size, PN nitems) {
PN                157 lib/buffile.c  PN potion_buffile_fwrite(Potion *P, PN cl, pn_ffile self, PN buf, PN size, PN nitems) {
PN                177 lib/buffile.c  PN potion_buffile_fputc(Potion *P, PN cl, pn_ffile self, PN byte) {
PN                184 lib/buffile.c  PN potion_buffile_fputs(Potion *P, PN cl, pn_ffile self, PN str) {
PN                193 lib/buffile.c  PN potion_buffile_fflush(Potion *P, PN cl, pn_ffile self) {
PN                203 lib/buffile.c  PN potion_buffile_fseek(Potion *P, PN cl, pn_ffile self, PN offset, PN whence) {
PN                212 lib/buffile.c  PN potion_buffile_ftell(Potion *P, PN cl, pn_ffile self) {
PN                221 lib/buffile.c  PN potion_buffile_feof(Potion *P, PN cl, pn_ffile self) {
PN                227 lib/buffile.c  PN potion_buffile_fileno(Potion *P, PN cl, pn_ffile self) {
PN                233 lib/buffile.c  PN potion_buffile_unlink(Potion *P, PN cl, pn_ffile self) {
PN                243 lib/buffile.c  PN potion_buffile_flockfile(Potion *P, PN cl, pn_ffile self) {
PN                249 lib/buffile.c  PN potion_buffile_ftrylockfile(Potion *P, PN cl, pn_ffile self) {
PN                254 lib/buffile.c  PN potion_buffile_funlockfile(Potion *P, PN cl, pn_ffile self) {
PN                263 lib/buffile.c  PN potion_buffile_fprintf(Potion *P, PN cl, pn_ffile self, PN fmt, ...) {
PN                269 lib/buffile.c  PN potion_buffile_string(Potion *P, PN cl, pn_ffile self) {
PN                272 lib/buffile.c    PN str;
PN                287 lib/buffile.c    PN ffile_vt = potion_type_new2(P, PN_TUSER, PN_VTABLE(PN_TFILE), PN_STR("BufFile"));
PN                 20 lib/pcre/pcre.c static PN potion_string_boolmatch(Potion *P, PN cl, PN self, PN str) {
PN                 23 lib/pcre/pcre.c static PN potion_bytes_boolmatch(Potion *P, PN cl, PN self, PN str) {
PN                 26 lib/pcre/pcre.c static PN potion_string_listmatch(Potion *P, PN cl, PN self, PN str) {
PN                 28 lib/pcre/pcre.c static PN potion_bytes_listmatch(Potion *P, PN cl, PN self, PN str) {
PN                 31 lib/pcre/pcre.c static PN potion_string_qr(Potion *P, PN cl, PN self, PN qr) {
PN                 33 lib/pcre/pcre.c static PN potion_bytes_qr(Potion *P, PN cl, PN self, PN qr) {
PN                 36 lib/pcre/pcre.c static PN potion_string_study(Potion *P, PN cl, PN self) {
PN                 39 lib/pcre/pcre.c static PN potion_string_replace(Potion *P, PN cl, PN self, PN str, PN with) {
PN                 42 lib/pcre/pcre.c static PN potion_bytes_replace(Potion *P, PN cl, PN self, PN str, PN with) {
PN                 45 lib/pcre/pcre.c static PN potion_string_compile(Potion *P, PN cl, PN self) {
PN                 48 lib/pcre/pcre.c static PN potion_match_at(Potion *P, PN cl, PN self) {
PN                 51 lib/pcre/pcre.c static PN potion_match_result(Potion *P, PN cl, PN self, PN str) {
PN                 55 lib/pcre/pcre.c   PN str_vt = PN_VTABLE(PN_TSTRING);
PN                 56 lib/pcre/pcre.c   PN byt_vt = PN_VTABLE(PN_TBYTES);
PN                 58 lib/pcre/pcre.c   PN mat_vt = potion_type_new2(P, PN_TUSER, PN_VTABLE(PN_TLICK), potion_str(P, "Match"));
PN                  9 lib/readline/readline.c PN pn_readline(Potion *P, PN cl, PN self, PN start) {
PN                 11 lib/readline/readline.c   PN r;
PN                 28 syn/syntax-p5.y #define YYSTYPE PN
PN                 68 syn/syntax-p5.y static PN yylastline(struct _GREG *G, int pos);
PN                 73 syn/syntax-p5.y      s = (PN)(G->buf+G->pos);
PN                171 syn/syntax-p5.y           { PN s1 = PN_TUP0(); PN_TUPLE_EACH(PN_S(l,0), i, v, {
PN                176 syn/syntax-p5.y           { PN s1 = PN_TUP0(); PN_TUPLE_EACH(PN_S(l,0), i, v, {
PN                429 syn/syntax-p5.y        q1 { $$ = potion_bytes_string(P, PN_NIL, (PN)P->pbuf) }
PN                460 syn/syntax-p5.y        q2 { $$ = potion_bytes_string(P, PN_NIL, (PN)P->pbuf) }
PN                557 syn/syntax-p5.y PN p2_parse(Potion *P, PN code, char *filename) {
PN                560 syn/syntax-p5.y   PN oldinput = P->input;
PN                561 syn/syntax-p5.y   PN oldsource = P->source;
PN                586 syn/syntax-p5.y PN potion_sig(Potion *P, char *fmt) {
PN                587 syn/syntax-p5.y   PN out = PN_NIL;
PN                593 syn/syntax-p5.y   PN oldinput = P->input;
PN                594 syn/syntax-p5.y   PN oldsource = P->source;
PN                614 syn/syntax-p5.y PN p2_sig(Potion *P, char *fmt) {
PN                615 syn/syntax-p5.y   PN out = PN_NIL;
PN                621 syn/syntax-p5.y   PN oldinput = P->input;
PN                622 syn/syntax-p5.y   PN oldsource = P->source;
PN                642 syn/syntax-p5.y int potion_sig_find(Potion *P, PN cl, PN name)
PN                645 syn/syntax-p5.y   PN sig;
PN                669 syn/syntax-p5.y static PN yylastline(struct _GREG *G, int pos) {
PN                 24 syn/syntax.y   #define YYSTYPE PN
PN                 58 syn/syntax.y   static PN yylastline(struct _GREG *G, int pos);
PN                258 syn/syntax.y          q1 { $$ = potion_bytes_string(P, PN_NIL, (PN)P->pbuf) }
PN                320 syn/syntax.y          q2 { $$ = potion_bytes_string(P, PN_NIL, (PN)P->pbuf) }
PN                365 syn/syntax.y   PN potion_parse(Potion *P, PN code, char *filename) {
PN                368 syn/syntax.y     PN oldinput = P->input;
PN                369 syn/syntax.y     PN oldsource = P->source;
PN                419 syn/syntax.y   PN potion_sig(Potion *P, char *fmt) {
PN                420 syn/syntax.y     PN out = PN_NIL;
PN                426 syn/syntax.y     PN oldinput = P->input;
PN                427 syn/syntax.y     PN oldsource = P->source;
PN                448 syn/syntax.y   int potion_sig_find(Potion *P, PN cl, PN name)
PN                451 syn/syntax.y     PN sig;
PN                462 syn/syntax.y       PN prev = PN_NIL;
PN                474 syn/syntax.y   static PN yylastline(struct _GREG *G, int pos) {
PN                 32 test/api/gc-bench.c #define ALLOC_NODE() (PN)potion_gc_alloc(P, tree_type, sizeof(struct PNObject)+ (2*sizeof(PN)))
PN                 48 test/api/gc-bench.c PN gc_make_tree(int depth, PN PN_left, PN PN_right) {
PN                 49 test/api/gc-bench.c   PN x, l, r;
PN                 61 test/api/gc-bench.c PN gc_populate_tree(PN node, int depth, PN PN_left, PN PN_right) {
PN                 80 test/api/gc-bench.c int gc_tree_depth(PN node, int side, int depth) {
PN                 81 test/api/gc-bench.c   PN n = ((struct PNObject *)node)->ivars[side];
PN                 92 test/api/gc-bench.c   PN klass, ary, temp, long_lived, PN_left, PN_right;
PN                 43 test/api/gc-test.c   PN ptr = (PN)potion_gc_alloc(P, PN_TUSER, 16);
PN                 51 test/api/gc-test.c   PN ptr = (PN)potion_gc_alloc(P, PN_TUSER, 16);
PN                 52 test/api/gc-test.c   PN s1 = PN_STR("teststring");
PN                 60 test/api/gc-test.c   PN ptr = (PN)potion_gc_alloc(P, PN_TUSER, 16);
PN                 66 test/api/gc-test.c   PN ptr = (PN)potion_gc_alloc(P, PN_TUSER, 16);
PN                 67 test/api/gc-test.c   PN ptr2 = (PN)potion_gc_alloc(P, PN_TUSER, 16);
PN                 68 test/api/gc-test.c   PN ptr3 = (PN)potion_gc_alloc(P, PN_TUSER, 16);
PN                 69 test/api/gc-test.c   PN ptr4 = (PN)potion_gc_alloc(P, PN_TUSER, 16);
PN                 81 test/api/gc-test.c   register unsigned long old = (PN)ptr & 0xFFFF;
PN                 87 test/api/gc-test.c   CuAssert(T, "copied location identical to original", (old & 0xFFFF) != (PN)ptr);
PN                 17 test/api/p2-test.c PN num = PN_NUM(490);
PN                 34 test/api/p2-test.c   PN zero = PN_ZERO;
PN                 43 test/api/p2-test.c   PN pos = PN_NUM(10891);
PN                 52 test/api/p2-test.c   PN neg = PN_NUM(-4343);
PN                 61 test/api/p2-test.c   PN dec = potion_decimal(P, "14466", 5);
PN                 73 test/api/p2-test.c   PN empty = PN_TUP0();
PN                 81 test/api/p2-test.c   PN tup = potion_tuple_with_size(P, 3);
PN                 92 test/api/p2-test.c   PN sig = p2_sig(P, "Num $num1, Num $num2");
PN                100 test/api/p2-test.c   PN add = p2_eval(P, potion_str(P, "sub($x,$y){$x+$y}"));
PN                102 test/api/p2-test.c   PN num = addfn(P, add, 0, PN_NUM(3), PN_NUM(5));
PN                108 test/api/p2-test.c   while ((PN)scanptr < (PN)P->mem->birth_cur) {
PN                113 test/api/p2-test.c     CuAssert(T, "allocated object goes beyond GC pointer", (PN)scanptr <= (PN)P->mem->birth_cur);
PN                 15 test/api/potion-test.c PN num = PN_NUM(490);
PN                 33 test/api/potion-test.c   PN zero = PN_ZERO;
PN                 42 test/api/potion-test.c   PN pos = PN_NUM(10891);
PN                 51 test/api/potion-test.c   PN neg = PN_NUM(-4343);
PN                 60 test/api/potion-test.c   PN dec = potion_decimal(P, "14466", 5);
PN                 72 test/api/potion-test.c   PN empty = PN_TUP0();
PN                 80 test/api/potion-test.c   PN tup = potion_tuple_with_size(P, 3);
PN                 92 test/api/potion-test.c   PN sig = potion_sig(P, "num1=N,num2=N");
PN                146 test/api/potion-test.c   PN p2;
PN                160 test/api/potion-test.c   PN add, num;
PN                222 test/api/potion-test.c   while ((PN)scanptr < (PN)M->birth_cur) {
PN                235 test/api/potion-test.c 		potion_type((PN)scanptr));
PN                238 test/api/potion-test.c 		potion_type((PN)prev), AS_STR(PN_VTABLE(PN_TYPE((PN)prev))));
PN                247 test/api/potion-test.c     CuAssert(T, "allocated object goes beyond GC pointer", (PN)scanptr <= (PN)M->birth_cur);