Entrypoint call entry methodgit add .
This commit is contained in:
parent
ea3666aad3
commit
2042007242
9 changed files with 573 additions and 119 deletions
39
src/heap_area.rs
Normal file
39
src/heap_area.rs
Normal file
|
@ -0,0 +1,39 @@
|
|||
use std::collections::HashMap;
|
||||
|
||||
use crate::stackframe::Value;
|
||||
use crate::classfile::{ AbstractTypeDescription, MethodInfo };
|
||||
|
||||
pub struct HeapArea {
|
||||
pub object_area: ObjectArea,
|
||||
pub static_area: StaticArea,
|
||||
}
|
||||
|
||||
type ObjectReference=u32;
|
||||
|
||||
pub struct ObjectArea {
|
||||
compartments: Vec<ObjectCompartment>,
|
||||
}
|
||||
|
||||
pub struct ObjectCompartment {
|
||||
objects: Box<[HeapObject]>,
|
||||
}
|
||||
|
||||
pub struct HeapObject {
|
||||
fields: Box<[ObjectField]>,
|
||||
}
|
||||
|
||||
pub struct StaticArea {
|
||||
static_objects: HashMap<String, StaticObject>,
|
||||
}
|
||||
|
||||
pub struct StaticObject {
|
||||
pub class_index: usize,
|
||||
pub fields: Box<[ObjectField]>,
|
||||
pub methods: Box<[MethodInfo]>,
|
||||
}
|
||||
|
||||
pub struct ObjectField {
|
||||
pub type_description: AbstractTypeDescription,
|
||||
pub value: Value,
|
||||
}
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue