mirror of
https://github.com/open-goal/jak-project
synced 2026-08-14 04:33:04 -04:00
more fixes
This commit is contained in:
+10
-3
@@ -2776,8 +2776,13 @@ void VectorFloatLoadStoreElement::collect_vf_regs(RegSet& regs) const {
|
||||
StackSpillStoreElement::StackSpillStoreElement(SimpleAtom value,
|
||||
int size,
|
||||
int stack_offset,
|
||||
RegisterAccess access,
|
||||
const std::optional<TypeSpec>& cast_type)
|
||||
: m_value(value), m_size(size), m_stack_offset(stack_offset), m_cast_type(cast_type) {}
|
||||
: m_value(value),
|
||||
m_size(size),
|
||||
m_stack_offset(stack_offset),
|
||||
m_access(access),
|
||||
m_cast_type(cast_type) {}
|
||||
|
||||
goos::Object StackSpillStoreElement::to_form_internal(const Env& env) const {
|
||||
return pretty_print::build_list(
|
||||
@@ -2804,15 +2809,17 @@ void StackSpillStoreElement::get_modified_regs(RegSet&) const {}
|
||||
|
||||
StackSpillValueElement::StackSpillValueElement(int size,
|
||||
int stack_offset,
|
||||
RegisterAccess access,
|
||||
bool is_signed,
|
||||
std::optional<TypeSpec> read_type)
|
||||
: m_size(size),
|
||||
m_stack_offset(stack_offset),
|
||||
m_access(access),
|
||||
m_is_signed(is_signed),
|
||||
m_read_type(std::move(read_type)) {}
|
||||
|
||||
goos::Object StackSpillValueElement::to_form_internal(const Env& env) const {
|
||||
auto var = make_stack_slot_access(m_stack_offset);
|
||||
auto var = m_access;
|
||||
auto base = pretty_print::to_symbol(env.get_spill_slot_var_name(m_stack_offset));
|
||||
if (m_read_type && env.get_variable_type(var, true) != *m_read_type) {
|
||||
return pretty_print::build_list("the-as", m_read_type->print(), base);
|
||||
@@ -2826,7 +2833,7 @@ void StackSpillValueElement::apply(const std::function<void(FormElement*)>& f) {
|
||||
|
||||
void StackSpillValueElement::apply_form(const std::function<void(Form*)>&) {}
|
||||
void StackSpillValueElement::collect_vars(RegAccessSet& vars, bool) const {
|
||||
vars.insert(make_stack_slot_access(m_stack_offset));
|
||||
vars.insert(m_access);
|
||||
}
|
||||
void StackSpillValueElement::get_modified_regs(RegSet&) const {}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user