enable the PGF JIT compiler for Android

This commit is contained in:
kr.angelov
2013-09-12 09:05:43 +00:00
parent bfafdbfec3
commit 2105188bd0
4 changed files with 20 additions and 14 deletions

View File

@@ -48,7 +48,11 @@ pgf_jit_alloc_page(PgfJitState* state)
size_t page_size = getpagesize();
#ifndef ANDROID
if (posix_memalign(&page, page_size, page_size) != 0) {
#else
if ((page = memalign(page_size, page_size)) == NULL) {
#endif
gu_fatal("Memory allocation failed");
}

View File

@@ -2,10 +2,7 @@
#include "expr.h"
#include "literals.h"
#include "reader.h"
#ifndef ANDROID
#include "jit.h"
#endif
#include <gu/defs.h>
#include <gu/map.h>
@@ -27,9 +24,7 @@ struct PgfReader {
GuExn* err;
GuPool* opool;
GuPool* tmp_pool;
#ifndef ANDROID
PgfJitState* jit_state;
#endif
};
typedef struct PgfReadTagExn PgfReadTagExn;
@@ -546,9 +541,7 @@ pgf_read_abscat(PgfReader* rdr, PgfAbstr* abstr, PgfCIdMap* abscats)
gu_buf_push(functions, PgfAbsFun*, absfun);
}
#ifndef ANDROID
pgf_jit_predicate(rdr->jit_state, abscats, abscat, functions);
#endif
return abscat;
}
@@ -1212,16 +1205,12 @@ pgf_new_reader(GuIn* in, GuPool* opool, GuPool* tmp_pool, GuExn* err)
rdr->tmp_pool = tmp_pool;
rdr->err = err;
rdr->in = in;
#ifndef ANDROID
rdr->jit_state = pgf_jit_init(tmp_pool, rdr->opool);
#endif
return rdr;
}
void
pgf_reader_done(PgfReader* rdr, PgfPGF* pgf)
{
#ifndef ANDROID
pgf_jit_done(rdr->jit_state, &pgf->abstract);
#endif
}