Refactor VM field access to use Rc clones
The VM's field access logic has been refactored to clone `Rc` pointers for addresses and field identifiers. This change aims to improve efficiency by avoiding unnecessary dereferencing and copying of values when accessing fields within records and objects. Additionally, the `Value::Object` handling in `BoundKind::GetField` has been refined to more explicitly manage `RecordSeries` and `StreamNode` types, ensuring that field access is handled polymorphically and efficiently without copying underlying data structures.
This commit is contained in:
@@ -15,7 +15,7 @@ use crate::ast::compiler::bound_nodes::{
|
||||
};
|
||||
use crate::ast::compiler::dumper::Dumper;
|
||||
use crate::ast::compiler::lambda_collector::LambdaCollector;
|
||||
use crate::ast::compiler::lowering::{ExecNode, Lowering};
|
||||
use crate::ast::compiler::lowering::{Lowering, ExecNode};
|
||||
use crate::ast::compiler::macros::{MacroEvaluator, MacroExpander, MacroRegistry};
|
||||
use crate::ast::compiler::optimizer::Optimizer;
|
||||
use crate::ast::compiler::specializer::{FunctionRegistry, MonoCache, Specializer};
|
||||
|
||||
Reference in New Issue
Block a user