lib/std/intrinsics.rad 467 B raw
1
//! Compiler intrinsics.
2
3
/// Environment call.
4
///
5
/// Issues a system call with the given number and arguments.
6
/// Arguments and the return value are `i64` to support both 32-bit
7
/// emulator addresses and 64-bit native (AMD64) pointers.
8
@intrinsic export fn ecall(number: u32, arg1: i64, arg2: i64, arg3: i64, arg4: i64) -> i64;
9
10
/// Break out of program.
11
@intrinsic export fn ebreak();
12
13
/// Full acquire/release memory fence.
14
@intrinsic export fn memoryFence();