feat(ir2mcode): 添加帧分配器框架和Windows 64位实现
添加了frame_alloc.h头文件定义帧分配器操作接口,实现了Windows 64位 平台的帧分配器实现,包括槽位分配、偏移计算和栈帧布局管理功能。 BREAKING CHANGE: 移除了旧的frame_manager.h接口,采用新的frame_alloc_ops_t 抽象接口。 fix(ast2ir): 修复字符串字面量表达式返回值问题 修复了AST到IR转换过程中字符串字面量表达式的处理,确保正确返回 创建的常量字符串值引用而非直接跳出。 fix(ir): 修复内置memcpy函数参数验证和类型比较逻辑 在IR构建器中为builtin_memcpy函数添加参数空指针检查,在类型比较 函数中添加未知类型的边界条件处理,增强系统稳定性。 refactor(ir2mcode): 重构寄存器分配器接口以支持帧分配器集成 修改寄存器分配器接口以接受帧分配器参数,统一节点到位置的映射表 命名,并提供便捷的栈大小和偏移获取接口。
This commit is contained in:
@@ -5,8 +5,10 @@
|
||||
#define SCC_STR(str) _SCC_STR(str)
|
||||
|
||||
#define SCC_ARRLEN(arr) (sizeof(arr) / sizeof(arr[0]))
|
||||
|
||||
#define SCC_FUNC
|
||||
#define SCC_CALL(self, func, ...) (((self)->func)(self, ##__VA_ARGS__))
|
||||
#define SCC_TCALL(self, type, func, ...) \
|
||||
((((type)(self))->func)(self, ##__VA_ARGS__))
|
||||
|
||||
#define scc_min(a, b) ((a) < (b) ? (a) : (b))
|
||||
#define scc_max(a, b) ((a) > (b) ? (a) : (b))
|
||||
|
||||
Reference in New Issue
Block a user