]> gitweb.factorcode.org Git - factor.git/blob - vm/run.cpp
Merge branch 'master' of git://factorcode.org/git/factor
[factor.git] / vm / run.cpp
1 #include "master.hpp"
2
3 namespace factor
4 {
5
6 void factor_vm::primitive_exit()
7 {
8         exit(to_fixnum(dpop()));
9 }
10
11 void factor_vm::primitive_system_micros()
12 {
13         box_unsigned_8(system_micros());
14 }
15
16 void factor_vm::primitive_nano_count()
17 {
18         u64 nanos = nano_count();
19         if(nanos < last_nano_count) critical_error("Monotonic counter decreased",0);
20         last_nano_count = nanos;
21         box_unsigned_8(nanos);
22 }
23
24 void factor_vm::primitive_sleep()
25 {
26         sleep_nanos(to_unsigned_8(dpop()));
27 }
28
29 }