/vm/run.cpp
http://github.com/abeaumont/factor · C++ · 37 lines · 31 code · 6 blank · 0 comment · 1 complexity · 881467d084549b76ff716b9db746e65c MD5 · raw file
- #include "master.hpp"
- namespace factor
- {
- void factor_vm::primitive_exit()
- {
- exit((int)to_fixnum(ctx->pop()));
- }
- void exit(int status)
- {
- factor_vm::close_console();
- ::exit(status);
- }
- void factor_vm::primitive_nano_count()
- {
- u64 nanos = nano_count();
- if(nanos < last_nano_count)
- {
- std::cout << "Monotonic counter decreased from 0x";
- std::cout << std::hex << last_nano_count;
- std::cout << " to 0x" << nanos << "." << std::dec << "\n";
- std::cout << "Please report this error.\n";
- current_vm()->factorbug();
- }
- last_nano_count = nanos;
- ctx->push(from_unsigned_8(nanos));
- }
- void factor_vm::primitive_sleep()
- {
- sleep_nanos(to_unsigned_8(ctx->pop()));
- }
- }