mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-22 11:19:32 -06:00
enable the PGF JIT compiler for Android
This commit is contained in:
@@ -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");
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user