韩天峰
|
1ea7ec0764
|
feat(compiler): 添加性能分析和 objval 函数支持
- 在 Clang、Gcc 和 Msvc 编译后端中添加 PROF_OUTPUT_FILE 宏定义支持
- 实现编译器性能分析模式,通过 --profile 参数启用并自动链接 -lprofiler 库
- 添加 .prof 文件分析功能,支持 php bin/compiler.php app.prof 格式调用 pprof 工具
- 实现 objval() 函数的 AOT 编译支持,用于对象类型转换
- 更新编译器缓存逻辑,启用性能分析时强制重新编译
- 添加 Linux 平台限制检查,非 Linux 系统使用 --profile 参数时显示错误提示
- 创建 objval 函数的单元测试用例
|
3 months ago |
韩天峰
|
549630e83e
|
fix(build): 修正编译器入口文件路径
- 将 require 语句从 compiler-build.php 更改为 compiler.php
- 确保正确的编译器主文件被加载执行
|
3 months ago |
韩天峰
|
bcc518406f
|
refactor(compiler): 重构编译器主逻辑到独立函数
- 将编译器核心逻辑从 compiler.php 移至 src/compiler-build.php
- 添加 main 函数封装编译流程
- 优化 ROOT_PATH 定义检查避免重复定义
- 使用 require_once 替代 require 避免重复加载
- 保留命令行参数解析和执行功能
|
3 months ago |
韩天峰
|
ccfef0f2b6
|
fix(cli): 修复命令行参数处理和调试选项配置
- 将命令行参数验证移到路径设置之前
- 添加 translator 的 showUsage() 方法调用
- 默认关闭 debugInfo、formatCode 和 printBacktraceOnError
- 在编译命令中条件性添加 -g 参数
- 仅在启用格式化时运行 clang-format
- 更新帮助信息显示动态命令名称
- 添加 -d, --debug-info 选项支持
- 将 -v 选项从 verbose 改为显示版本
- 改进错误处理使用 translator 的 error 方法
|
4 months ago |
韩天峰
|
ee3dbc9717
|
feat(compiler): 添加项目配置和扩展忽略功能
- 在 Translator 类中新增 ignoreExtensions 属性用于存储忽略的扩展
- 修改构造函数逻辑,将 main 函数从内部函数列表中移除
- 更新属性初始化代码,修复命名空间获取方式
- 在项目配置解析中添加对 ext-* 格式扩展的识别和忽略处理
- 添加测试用例验证对象构造器数组属性默认值功能
- 添加引用操作相关测试用例
- 新增项目配置文件示例
|
4 months ago |
韩天峰
|
9744cc9e86
|
feat(build): 添加编译器构建功能并更新项目配置
- 新增 src/compiler-build.php 作为编译器入口文件
- 在 extension.cc.php 中添加 zend 异常处理保护机制
- 更新 project.yml 将项目类型从 ext 改为 bin,版本升级到 0.1.0
- 添加新的依赖文件路径到项目配置中
- 在 Php/Symbol.php 中添加 getClassEntrySafe 方法
- 修改 Php/Translator.php 使用安全的类入口获取方法
- 修复 __toString 方法的返回类型声明
- 添加 examples/error/impl.php 示例文件
|
4 months ago |