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
8
namespace
nix {
9
16
constexpr
size_t
nonRecursiveStackReservation
= 128;
17
24
constexpr
size_t
conservativeStackReservation
= 16;
25
26
struct
RegisterPrimOp
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
46
void
prim_importNative(
EvalState
& state,
Value
* * args,
Value
& v);
47
51
void
prim_exec(
EvalState
& state,
Value
* * args,
Value
& v);
52
53
void
makePositionThunks(
EvalState
& state,
const
PosIdx
pos,
Value
& line,
Value
& column);
54
55
}
nix::EvalState
Definition
eval.hh:685
nix::PosIdx
Definition
pos-idx.hh:9
eval.hh
nix::nonRecursiveStackReservation
constexpr size_t nonRecursiveStackReservation
Definition
primops.hh:16
nix::conservativeStackReservation
constexpr size_t conservativeStackReservation
Definition
primops.hh:24
nix::PrimOp
Definition
eval.hh:48
nix::RegisterPrimOp::RegisterPrimOp
RegisterPrimOp(PrimOp &&primOp)
Definition
primops.cc:2792
nix::Value
Definition
value.hh:190
lix
libexpr
primops.hh
Generated by
1.15.0