@@ -44,93 +44,93 @@ typedef struct Val {
44typedef struct Val * VAL;
44typedef struct Val * VAL;
46typedef struct Con {
46typedef struct Con {
48− uint32_t tag;
48+ uint32_t tag;
49− uint32_t arity;
49+ uint32_t arity;
50− VAL args[0];
50+ VAL args[0];
53typedef struct Array {
53typedef struct Array {
55− VAL array[0];
55+ VAL array[0];
58typedef struct Int {
58typedef struct Int {
63typedef struct BigInt {
63typedef struct BigInt {
65− char big[0];
65+ char big[0];
68typedef struct Float {
68typedef struct Float {
70− double f;
70+ double f;
73typedef struct String {
73typedef struct String {
75− size_t slen;
75+ size_t slen;
76#define _null hdr.u8
76#define _null hdr.u8
77− char str[0];
77+ char str[0];
80typedef struct StrOffset {
80typedef struct StrOffset {
82− String * base;
82+ String * base;
83− size_t offset;
83+ size_t offset;
84} StrOffset;
84} StrOffset;
86typedef struct Bits8 {
86typedef struct Bits8 {
88− uint8_t bits8;
88+ uint8_t bits8;
91typedef struct Bits16 {
91typedef struct Bits16 {
93− uint16_t bits16;
93+ uint16_t bits16;
96typedef struct Bits32 {
96typedef struct Bits32 {
98− uint32_t bits32;
98+ uint32_t bits32;
101typedef struct Bits64 {
101typedef struct Bits64 {
102− Hdr hdr;
102+ Hdr hdr;
103− uint64_t bits64;
103+ uint64_t bits64;
106typedef struct Ptr {
106typedef struct Ptr {
107− Hdr hdr;
107+ Hdr hdr;
108− void * ptr;
108+ void * ptr;
111typedef struct Ref {
111typedef struct Ref {
112− Hdr hdr;
112+ Hdr hdr;
113− VAL ref;
113+ VAL ref;
116typedef struct Fwd {
116typedef struct Fwd {
117− Hdr hdr;
117+ Hdr hdr;
118− VAL fwd;
118+ VAL fwd;
121typedef struct ManagedPtr {
121typedef struct ManagedPtr {
122− Hdr hdr;
122+ Hdr hdr;
123− char mptr[0];
123+ char mptr[0];
124} ManagedPtr;
124} ManagedPtr;
126typedef struct RawData {
126typedef struct RawData {
127− Hdr hdr;
127+ Hdr hdr;
128− char raw[0];
128+ char raw[0];
129} RawData;
129} RawData;
131typedef struct CDataC {
131typedef struct CDataC {
132− Hdr hdr;
132+ Hdr hdr;
133− CHeapItem * item;
133+ CHeapItem * item;
136struct VM;
136struct VM;
@@ -241,11 +241,11 @@ typedef void(*func)(VM*, VAL*);
242// Retrieving values
242// Retrieving values
243static inline char * getstr(String * x) {
243static inline char * getstr(String * x) {
244− return x->_null? NULL : x->str;
244+ return x->_null? NULL : x->str;
247static inline size_t getstrlen(String * x) {
247static inline size_t getstrlen(String * x) {
248− return x->slen;
248+ return x->slen;
251#define GETSTR(x) (ISSTR(x) ? getstr((String*)(x)) : GETSTROFF(x))
251#define GETSTR(x) (ISSTR(x) ? getstr((String*)(x)) : GETSTROFF(x))
@@ -383,9 +383,9 @@ static inline Con * allocConF(VM * vm, unsigned tag, unsigned arity, int outer)
385static inline Array * allocArrayF(VM * vm, size_t len, int outer) {
385static inline Array * allocArrayF(VM * vm, size_t len, int outer) {
386− Array * cl = iallocate(vm, sizeof(*cl) + sizeof(VAL) * len, outer);
386+ Array * cl = iallocate(vm, sizeof(*cl) + sizeof(VAL) * len, outer);
387− SETTY(cl, CT_ARRAY);
387+ SETTY(cl, CT_ARRAY);
388− return cl;
388+ return cl;
@@ -532,13 +532,21 @@ void stackOverflow(void);
532#include "idris_gmp.h"
532#include "idris_gmp.h"
534static inline size_t valSize(VAL v) {
534static inline size_t valSize(VAL v) {
535− return v->hdr.sz;
535+ return v->hdr.sz;
538static inline size_t aligned(size_t sz) {
538static inline size_t aligned(size_t sz) {
539− return (sz + 7) & ~7;
539+ return (sz + 7) & ~7;
542VM* get_vm(void);
542VM* get_vm(void);
548+ c-file-style: "bsd" **
549+ c-basic-offset: 4 **
550+ indent-tabs-mode: nil **