]> gitweb.factorcode.org Git - factor.git/blob - vm/run.cpp
vm: close the console when exiting
[factor.git] / vm / run.cpp
1 #include "master.hpp"
2
3 namespace factor
4 {
5
6 void factor_vm::primitive_exit()
7 {
8         close_console();
9         exit((int)to_fixnum(ctx->pop()));
10 }
11
12 void factor_vm::primitive_nano_count()
13 {
14         u64 nanos = nano_count();
15         if(nanos < last_nano_count)
16         {
17                 std::cout << "Monotonic counter decreased from 0x";
18                 std::cout << std::hex << last_nano_count;
19                 std::cout << " to 0x" << nanos << "." << std::dec << "\n";
20                 std::cout << "Please report this error.\n";
21                 current_vm()->factorbug();
22         }
23         last_nano_count = nanos;
24         ctx->push(from_unsigned_8(nanos));
25 }
26
27 void factor_vm::primitive_sleep()
28 {
29         sleep_nanos(to_unsigned_8(ctx->pop()));
30 }
31
32 }