xo-interpreter: apply expressions + llvm builtins working!
This commit is contained in:
parent
7ca1366bec
commit
1d1e72adf3
31 changed files with 531 additions and 50 deletions
|
|
@ -7,12 +7,14 @@
|
|||
|
||||
#include "ProcedureExprInterface.hpp"
|
||||
#include "llvmintrinsic.hpp"
|
||||
#include "xo/reflect/TaggedPtr.hpp"
|
||||
#include <type_traits>
|
||||
|
||||
namespace xo {
|
||||
namespace scm {
|
||||
class PrimitiveExprInterface : public ProcedureExprInterface {
|
||||
public:
|
||||
using TaggedPtr = xo::reflect::TaggedPtr;
|
||||
using void_function_type = void (*)();
|
||||
|
||||
public:
|
||||
|
|
@ -24,6 +26,11 @@ namespace xo {
|
|||
return bp<PrimitiveExprInterface>::from(x);
|
||||
}
|
||||
|
||||
/** @return executable function as tagged pointer.
|
||||
* Load-bearing for xo-interpreter.
|
||||
**/
|
||||
virtual TaggedPtr value_tp() const = 0;
|
||||
|
||||
/** if true, Jit will try to explicitly symbol for this primitive
|
||||
* (instead of looking it up in host process).
|
||||
* Don't know if this works.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue