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