WARNING! Access to this system is limited to authorised users only.
Unauthorised users may be subject to prosecution.
Unauthorised access to this system is a criminal offence under Australian law (Federal Crimes Act 1914 Part VIA)
It is a criminal offence to:
(1) Obtain access to data without authority. -Penalty 2 years imprisonment.
(2) Damage, delete, alter or insert data without authority. -Penalty 10 years imprisonment.
User activity is monitored and recorded. Anyone using this system expressly consents to such monitoring and recording.

To protect your data, the CISO officer has suggested users to enable 2FA as soon as possible.
Currently 2.6% of users enabled 2FA.

Commit 5c3c66af authored by qinsoon's avatar qinsoon
Browse files

refactor logging for vm

parent 4e26dce4
use log;
use simple_logger;
use utils;
use ast::ir::*;
use vm::VM;
......@@ -176,7 +175,7 @@ pub const PRIMORDIAL_ENTRY : &'static str = "src/runtime/main.c";
#[no_mangle]
pub extern fn mu_trace_level_log() {
simple_logger::init_with_level(log::LogLevel::Trace).ok();
VM::start_logging_trace();
}
#[no_mangle]
......
extern crate log;
extern crate simple_logger;
extern crate libloading as ll;
use compiler::*;
......@@ -40,7 +38,8 @@ pub fn exec (mut cmd: Command) -> Output {
}
pub fn compile_fnc<'a>(fnc_name: &'static str, build_fnc: &'a Fn() -> VM) -> ll::Library {
simple_logger::init_with_level(log::LogLevel::Trace).ok();
VM::start_logging_trace();
let vm = Arc::new(build_fnc());
let compiler = Compiler::new(CompilerPolicy::default(), vm.clone());
let func_id = vm.id_of(fnc_name);
......
......@@ -12,7 +12,6 @@ use runtime::thread::*;
use runtime::ValueLocation;
use utils::ByteSize;
use runtime::mm as gc;
use rustc_serialize::{Encodable, Encoder, Decodable, Decoder};
use std::path;
......@@ -306,6 +305,8 @@ impl Decodable for VM {
impl <'a> VM {
pub fn new() -> VM {
VM::start_logging();
let ret = VM {
next_id: ATOMIC_USIZE_INIT,
is_running: ATOMIC_BOOL_INIT,
......@@ -352,6 +353,19 @@ impl <'a> VM {
ret
}
pub fn start_logging() {
VM::start_logging_trace();
}
pub fn start_logging_trace() {
use simple_logger;
match simple_logger::init() {
Ok(_) => {},
Err(_) => {}
}
}
pub fn resume_vm(serialized_vm: &str) -> VM {
use rustc_serialize::json;
......
extern crate mu;
#[macro_use]
extern crate log;
extern crate simple_logger;
#[macro_use]
extern crate maplit;
......
......@@ -12,7 +12,7 @@ use self::rustc_serialize::base64::STANDARD;
#[test]
fn test_vm_serialize_factorial() {
::simple_logger::init_with_level(::log::LogLevel::Trace).ok();
VM::start_logging_trace();
let vm = Arc::new(factorial());
......
extern crate log;
extern crate simple_logger;
extern crate libloading;
extern crate mu;
......@@ -16,7 +15,7 @@ use self::mu::testutil::aot;
#[test]
fn test_instruction_new() {
simple_logger::init_with_level(log::LogLevel::Trace).ok();
VM::start_logging_trace();
let vm = Arc::new(alloc_new());
......
extern crate mu;
extern crate log;
extern crate simple_logger;
extern crate libloading;
use self::mu::ast::types::*;
......
extern crate log;
extern crate simple_logger;
extern crate libloading;
extern crate mu;
......@@ -17,8 +16,7 @@ use std::collections::HashMap;
#[test]
fn test_exception_simple_throw_catch() {
simple_logger::init_with_level(log::LogLevel::Trace).ok();
VM::start_logging_trace();
let vm = Arc::new(simple_throw_catch());
let compiler = Compiler::new(CompilerPolicy::default(), vm.clone());
......
extern crate mu;
extern crate log;
extern crate simple_logger;
extern crate libloading;
use self::mu::ast::types::*;
......@@ -16,7 +15,7 @@ use mu::testutil::aot;
#[test]
fn test_fp_add() {
simple_logger::init_with_level(log::LogLevel::Trace).ok();
VM::start_logging_trace();
let vm = Arc::new(fp_add());
......
extern crate mu;
extern crate log;
extern crate simple_logger;
use test_ir::test_ir::global_access;
use self::mu::compiler::*;
use self::mu::vm::VM;
use std::sync::Arc;
#[test]
fn test_global_access() {
simple_logger::init_with_level(log::LogLevel::Trace).ok();
VM::start_logging_trace();
let vm = Arc::new(global_access());
let compiler = Compiler::new(CompilerPolicy::default(), vm.clone());
......
extern crate mu;
extern crate log;
extern crate simple_logger;
use test_ir::test_ir::factorial;
use self::mu::compiler::*;
use self::mu::vm::VM;
use std::sync::Arc;
#[test]
fn test_instsel_fac() {
simple_logger::init_with_level(log::LogLevel::Trace).ok();
VM::start_logging_trace();
let vm = Arc::new(factorial());
......
extern crate mu;
extern crate log;
extern crate simple_logger;
extern crate libloading;
use self::mu::ast::types::*;
......
extern crate mu;
extern crate log;
extern crate simple_logger;
use common::*;
use test_ir::test_ir::factorial;
use test_ir::test_ir::sum;
use self::mu::ast::ir::*;
use self::mu::compiler::*;
use self::mu::vm::VM;
use std::sync::Arc;
#[test]
fn test_use_count() {
simple_logger::init_with_level(log::LogLevel::Trace).ok();
VM::start_logging_trace();
let vm = Arc::new(factorial());
let compiler = Compiler::new(CompilerPolicy::new(
......@@ -38,7 +37,7 @@ fn test_use_count() {
#[test]
fn test_build_tree() {
simple_logger::init_with_level(log::LogLevel::Trace).ok();
VM::start_logging_trace();
let vm = Arc::new(factorial());
let compiler = Compiler::new(CompilerPolicy::new(
......@@ -57,7 +56,7 @@ fn test_build_tree() {
#[test]
fn test_cfa_factorial() {
simple_logger::init_with_level(log::LogLevel::Trace).ok();
VM::start_logging_trace();
let vm = Arc::new(factorial());
let compiler = Compiler::new(CompilerPolicy::new(vec![
......@@ -97,7 +96,7 @@ fn test_cfa_factorial() {
#[test]
fn test_cfa_sum() {
simple_logger::init_with_level(log::LogLevel::Trace).ok();
VM::start_logging_trace();
let vm = Arc::new(sum());
let compiler = Compiler::new(CompilerPolicy::new(vec![
......@@ -147,7 +146,7 @@ fn block_edges_into_vec(edges: &Vec<BlockEdge>) -> Vec<MuID> {
#[test]
fn test_trace_factorial() {
simple_logger::init_with_level(log::LogLevel::Trace).ok();
VM::start_logging_trace();
let vm = Arc::new(factorial());
let compiler = Compiler::new(CompilerPolicy::new(vec![
......@@ -170,7 +169,7 @@ fn test_trace_factorial() {
#[test]
fn test_trace_sum() {
simple_logger::init_with_level(log::LogLevel::Trace).ok();
VM::start_logging_trace();
let vm = Arc::new(sum());
let compiler = Compiler::new(CompilerPolicy::new(vec![
......
extern crate mu;
extern crate log;
extern crate simple_logger;
extern crate libloading;
use mu::testutil::aot;
......@@ -19,7 +17,7 @@ use std::collections::HashMap;
#[test]
fn test_ir_liveness_fac() {
simple_logger::init_with_level(log::LogLevel::Trace).ok();
VM::start_logging_trace();
let vm = Arc::new(factorial());
......@@ -77,7 +75,7 @@ fn test_ir_liveness_fac() {
#[test]
#[allow(unused_variables)]
fn test_spill1() {
simple_logger::init_with_level(log::LogLevel::Trace).ok();
VM::start_logging_trace();
let vm = Arc::new(create_spill1());
......@@ -279,7 +277,7 @@ fn create_spill1() -> VM {
#[test]
fn test_simple_spill() {
simple_logger::init_with_level(log::LogLevel::Trace).ok();
VM::start_logging_trace();
let vm = Arc::new(create_simple_spill());
......
#![allow(unused_imports)]
extern crate mu;
extern crate log;
extern crate simple_logger;
use self::mu::ast::types::*;
use self::mu::ast::ir::*;
......@@ -19,7 +17,7 @@ use std::collections::HashMap;
#[test]
fn test_thread_create() {
simple_logger::init_with_level(log::LogLevel::Trace).ok();
VM::start_logging_trace();
let vm = Arc::new(primordial_main());
......
......@@ -2,9 +2,6 @@
#![allow(dead_code)]
extern crate mu;
extern crate log;
extern crate simple_logger;
use self::mu::ast::types::*;
use self::mu::ast::ir::*;
use self::mu::ast::inst::*;
......@@ -36,7 +33,7 @@ fn builder_factorial() {
#[allow(unused_variables)]
fn test_startup_shutdown() {
unsafe {
simple_logger::init_with_level(log::LogLevel::Trace).ok();
VM::start_logging_trace();
info!("Starting micro VM...");
......@@ -76,7 +73,7 @@ fn test_types_sigs_loading() {
let mut csp: CStringPool = Default::default();
unsafe {
simple_logger::init_with_level(log::LogLevel::Trace).ok();
VM::start_logging_trace();
info!("Starting micro VM...");
......@@ -128,7 +125,7 @@ fn test_consts_loading() {
let mut csp: CStringPool = Default::default();
unsafe {
simple_logger::init_with_level(log::LogLevel::Trace).ok();
VM::start_logging_trace();
info!("Starting micro VM...");
......@@ -163,7 +160,7 @@ fn test_function_loading() {
let mut csp: CStringPool = Default::default();
unsafe {
simple_logger::init_with_level(log::LogLevel::Trace).ok();
VM::start_logging_trace();
info!("Starting micro VM...");
......@@ -382,7 +379,7 @@ fn test_insts_call() {
let mut csp: CStringPool = Default::default();
unsafe {
simple_logger::init_with_level(log::LogLevel::Trace).ok();
VM::start_logging_trace();
info!("Starting micro VM...");
......@@ -523,7 +520,7 @@ fn test_insts_new() {
let mut csp: CStringPool = Default::default();
unsafe {
simple_logger::init_with_level(log::LogLevel::Trace).ok();
VM::start_logging_trace();
info!("Starting micro VM...");
......
......@@ -13,8 +13,6 @@ use mu::runtime::mm::heap::freelist;
use mu::runtime::mm::heap::freelist::FreeListSpace;
use std::mem::size_of;
use std::sync::atomic::Ordering;
use log;
use simple_logger;
extern crate time;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment