mirror of
https://github.com/urbit/ares.git
synced 2024-11-26 09:57:56 +03:00
Merge branch 'status' into eamsden/integrate-pma-tmp
This commit is contained in:
commit
2c1f1fa285
2
.github/workflows/ares-shared.yml
vendored
2
.github/workflows/ares-shared.yml
vendored
@ -75,7 +75,7 @@ jobs:
|
||||
# Build Ares
|
||||
- name: Build
|
||||
run: |
|
||||
nix develop --command bash -c "cargo build --release --verbose --features check_all"
|
||||
nix develop --command bash -c "cargo build --release --verbose"
|
||||
|
||||
# Run tests
|
||||
- name: Test
|
||||
|
@ -50,6 +50,7 @@ opt-level = 3
|
||||
|
||||
# run with e.g. 'cargo build --features check_forwarding,check_acyclic'
|
||||
[features]
|
||||
# FOR DEBUGGING MEMORY ISSUES ONLY
|
||||
check_all = [ "check_acyclic", "check_forwarding", "check_junior" ]
|
||||
check_acyclic = []
|
||||
check_forwarding = []
|
||||
|
@ -214,8 +214,6 @@ impl Context {
|
||||
/// [event_update] and invocation of this function
|
||||
pub unsafe fn preserve_event_update_leftovers(&mut self) {
|
||||
let stack = &mut self.nock_context.stack;
|
||||
stack.preserve(&mut self.arvo);
|
||||
stack.preserve(&mut self.nock_context.cold);
|
||||
stack.preserve(&mut self.nock_context.warm);
|
||||
stack.preserve(&mut self.nock_context.hot);
|
||||
stack.flip_top_frame(0);
|
||||
@ -354,14 +352,17 @@ pub fn serf(constant_hot_state: &[HotEntry]) -> io::Result<()> {
|
||||
tas!(b"live") => {
|
||||
let inner = slot(writ, 6)?.as_direct().unwrap();
|
||||
match inner.data() {
|
||||
tas!(b"cram") => eprintln!("cram"),
|
||||
tas!(b"exit") => eprintln!("exit"),
|
||||
tas!(b"cram") => eprintln!("\r %cram: not implemented"),
|
||||
tas!(b"exit") => {
|
||||
eprintln!("\r %exit");
|
||||
std::process::exit(0);
|
||||
}
|
||||
tas!(b"save") => {
|
||||
// XX what is eve for?
|
||||
pma_sync();
|
||||
}
|
||||
tas!(b"meld") => eprintln!("meld"),
|
||||
tas!(b"pack") => eprintln!("pack"),
|
||||
tas!(b"meld") => eprintln!("\r %meld: not implemented"),
|
||||
tas!(b"pack") => eprintln!("\r %pack: not implemented"),
|
||||
_ => eprintln!("unknown live"),
|
||||
}
|
||||
context.live();
|
||||
@ -503,6 +504,7 @@ fn play_list(context: &mut Context, mut lit: Noun) {
|
||||
let mut eve = context.event_num;
|
||||
while let Ok(cell) = lit.as_cell() {
|
||||
let ovo = cell.head();
|
||||
lit = cell.tail();
|
||||
let trace_name = if context.nock_context.trace_info.is_some() {
|
||||
Some(format!("play [{}]", eve))
|
||||
} else {
|
||||
@ -519,6 +521,7 @@ fn play_list(context: &mut Context, mut lit: Noun) {
|
||||
|
||||
unsafe {
|
||||
context.event_update(eve, arvo);
|
||||
context.nock_context.stack.preserve(&mut lit);
|
||||
context.preserve_event_update_leftovers();
|
||||
}
|
||||
}
|
||||
@ -526,7 +529,6 @@ fn play_list(context: &mut Context, mut lit: Noun) {
|
||||
return context.play_bail(goof);
|
||||
}
|
||||
}
|
||||
lit = cell.tail();
|
||||
}
|
||||
context.play_done();
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user