Nix 2.93.3
Lix: A modern, delicious implementation of the Nix package manager; unstable internal interfaces
Loading...
Searching...
No Matches
primops.hh
Go to the documentation of this file.
1#pragma once
3
4#include "lix/libexpr/eval.hh"
5
6#include <vector>
7
8namespace nix {
9
16constexpr size_t nonRecursiveStackReservation = 128;
17
24constexpr size_t conservativeStackReservation = 16;
25
27{
28 typedef std::vector<PrimOp> PrimOps;
29 static PrimOps * primOps;
30
36 RegisterPrimOp(PrimOp && primOp);
37};
38
39/* These primops are disabled without enableNativeCode, but plugins
40 may wish to use them in limited contexts without globally enabling
41 them. */
42
46void prim_importNative(EvalState & state, Value * * args, Value & v);
47
51void prim_exec(EvalState & state, Value * * args, Value & v);
52
53void makePositionThunks(EvalState & state, const PosIdx pos, Value & line, Value & column);
54
55}
Definition eval.hh:685
Definition pos-idx.hh:9
constexpr size_t nonRecursiveStackReservation
Definition primops.hh:16
constexpr size_t conservativeStackReservation
Definition primops.hh:24
Definition eval.hh:48
RegisterPrimOp(PrimOp &&primOp)
Definition primops.cc:2792
Definition value.hh:190