From bb2d0cf341bd127e3133a75187bc1760298bedaf Mon Sep 17 00:00:00 2001 From: Matthew Liu Date: Wed, 19 Jul 2023 16:08:50 -0700 Subject: [PATCH] can now see dummy node data --- sunscreen_compiler_common/src/context.rs | 1 + sunscreen_runtime/src/run.rs | 9 +++++++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/sunscreen_compiler_common/src/context.rs b/sunscreen_compiler_common/src/context.rs index fe28e73ca..53107ca60 100644 --- a/sunscreen_compiler_common/src/context.rs +++ b/sunscreen_compiler_common/src/context.rs @@ -6,6 +6,7 @@ use petgraph::stable_graph::{NodeIndex, StableGraph}; use petgraph::visit::{EdgeRef, IntoEdgeReferences, IntoNodeReferences}; use petgraph::Graph; +use radix_trie::Trie; use serde::{Deserialize, Serialize}; use crate::{Operation, Render}; diff --git a/sunscreen_runtime/src/run.rs b/sunscreen_runtime/src/run.rs index ffe834b9e..33dab530e 100644 --- a/sunscreen_runtime/src/run.rs +++ b/sunscreen_runtime/src/run.rs @@ -212,8 +212,13 @@ pub unsafe fn run_program_unchecked( .get_mut(session_name) .unwrap() .unwrap_bfv_session_mut(); - let node_val = get_data(data, node_index.index()); - session.program_data[node_index.index()] = Arc::into_inner(node_val.unwrap().clone()); + let node_val = get_data(data, node_index.index()); + match Arc::try_unwrap(node_val.unwrap().clone()) { + Ok(val) => session.program_data[node_index.index()] = Some(val), + Err(arc) => { + session.program_data[node_index.index()] = Some((*arc).clone()); + } + } } Ok(())