韩天峰
|
05a409ac37
|
test: 添加AOT测试及eval()作用域限制文档
|
3 months ago |
韩天峰
|
7ee2a161b9
|
docs: 添加两项专利申请技术交底书
- 添加 C++ 模版实现动态语言强类型数据容器的专利文档
- 添加混合态编程语言编译执行方法的专利文档
- 文档涵盖技术方案、系统组成、方法流程和关键保护点
- 包含详细的术语解释和技术背景说明
|
3 months ago |
韩天峰
|
25a574122a
|
docs(std): 添加 STD 容器文档说明
- 介绍 Swoole AOT 强类型高性能容器特性
- 详细说明 std::array、std::vector、std::map、std::unordered_map 的使用方法
- 提供各类容器的代码示例和性能对比数据
- 解释与 PHP Array 的转换机制和使用建议
- 包含编译原理说明和性能测试结果
- 说明 UnsafePtr 与 native 函数参数的使用规则
|
4 months ago |
韩天峰
|
9186d04da4
|
refactor(backend): 将调试配置选项从 debug_info 统一更改为 debug
- 将所有编译器后端(GCC、Clang、MSVC)中的 debug_info 参数重命名为 debug
- 更新单元测试中相应的配置选项参数名称
- 修改命令行参数解析从 --debug-info 改为 --debug
- 调整文档中关于调试选项的描述和示例
- 修复链接阶段不应包含调试符号的逻辑错误
- 重构内部调试变量命名从 debugInfo 改为 debug
- 更新 YAML 配置文件中的调试选项键名
|
4 months ago |
韩天峰
|
028a83dcb2
|
feat(compiler): 添加编译器选择机制和平台优化
- 实现基于环境变量的编译器选择(PHPX_CC > CXX > 平台默认)
- 支持通过 YAML 配置文件指定 cpp-compiler 选项
- 为 macOS、Linux、Windows 自动选择合适的默认编译器
- 优化 PHP 路径检测逻辑,移除硬编码路径依赖
- 为 extension 和 bin 模式统一添加 PHP 库链接
- 在 macOS 上实现 RPATH 支持以解决动态库加载问题
- 添加对多种构建模式名称的映射支持(extension/ext/binary/bin/cli)
|
4 months ago |
韩天峰
|
3489413661
|
docs: 添加 AOT 编译器类继承规则文档和预览版使用须知
- 新增 CLASS_INHERITANCE.md 文档,详细说明 AOT 编译器类继承规则
- 新增 README.md 文件,包含预览版使用条款和责任限制说明
- 文档涵盖合法继承示例、非法继承示例和最佳实践指南
- 添加故障排除部分和常见问题解答
- 说明 AOT 编译器与传统 PHP 在继承方面的差异对比
- 强调预览版软件的使用限制和风险提示
|
4 months ago |
韩天峰
|
a284a9bfaf
|
docs(syntax): 更新不支持语法文档并添加新测试用例
- 新增重复函数名和类名不支持特性的详细说明
- 新增break/continue多层循环不支持特性的详细说明
- 新增字符串越界访问行为差异特性的详细说明
- 添加相关替代方案和最佳实践建议
- 更新统计数据和FAQ问答内容
- 修复代码块标记格式问题
- 添加字符串相关的bug测试用例
|
5 months ago |
韩天峰
|
26682179d4
|
docs(syntax): 更新不支持语法文档添加引用参数默认值和变长引用参数说明
- 新增引用参数带有默认值的不支持语法说明
- 新增变长参数中使用引用的不支持语法说明
- 更新统计信息表格中的语法数量和百分比
- 在快速参考表中添加新的不支持语法条目
- 为相关测试文件添加 skip 标记说明
- 更新更新日志记录新增的两个不支持语法特性
|
5 months ago |
韩天峰
|
646fb7d56d
|
docs(compiler): 添加 AOT 编译器命令行工具使用指南
- 新增完整的命令行选项详解文档
- 包含优化级别、编译模式、输出文件名等所有参数说明
- 提供典型使用场景和性能优化技巧
- 添加故障排除和最佳实践章节
- 包含编译过程详解和高级主题说明
|
5 months ago |
韩天峰
|
c8e22239bb
|
docs: 添加 PHP 与 C++ 混合编程指南并完善原生类型文档
- 新增完整的 PHP 与 C++ 混合编程指南文档
- 详细介绍 AOT 编译器的混合编程机制和使用方法
- 添加 Box 封装器机制的完整说明和示例
- 扩展原生类型文档,新增 objval 编译期函数说明
- 更新类型映射表,增加性能和状态标识
- 补充类型声明方式对比表格
- 添加大量实用示例和最佳实践指导
|
5 months ago |
韩天峰
|
1d14d569bf
|
docs: 添加 AOT 编译器文档集
- 新增 COMPILATION_MODES.md 详细介绍扩展模式和二进制模式
- 新增 NATIVE_TYPES.md 说明原生类型支持情况
- 新增 QUICKSTART.md 提供快速入门指南
- 新增 README.md 创建文档索引
- 更新 UNSUPPORTED_SYNTAX.md 补充类型约束说明
|
5 months ago |
韩天峰
|
552fa1c882
|
docs(guide): 添加函数参数类型声明优化指南
- 介绍自动原生类型机制,支持 int、float、bool 参数声明
- 对比 ZVAL 类型与原生类型的内存占用和性能差异
- 提供斐波那契数列和圆周率计算的实际测试案例
- 展示性能对比数据,AOT 原生类型比 Zend VM 快 100-300 倍
- 分析内存布局优化、寄存器直接运算和编译期优化原理
- 提供递归函数、循环密集型、数学计算和条件判断的最佳实践
- 介绍混合类型策略,外层灵活内层高效的设计模式
- 警告类型不匹配、返回值约束和溢出风险等注意事项
- 包含完整的性能测试基准和决策树指导
- 总结核心要点和推荐实践方案
|
5 months ago |
韩天峰
|
2ef2358735
|
fix(compiler): 移除变量类型重新赋值检查逻辑
- 删除了变量类型不匹配时的致命错误检查
- 允许相同变量名在不同类型的std::转换间灵活赋值
- 更新了本地变量类型验证和添加逻辑
- 修改了表达式解析和类型转换流程
|
5 months ago |
韩天峰
|
5b0346a4ad
|
test(aot): 添加 AOT 编译器功能测试和文档
- 新增匿名类功能测试文件 tests/aot/anonymous-classes.phpt
- 新增数组展开操作符测试文件 tests/aot/array-spread.phpt
- 新增箭头函数测试文件 tests/aot/arrow-functions.phpt
- 新增属性注解测试文件 tests/aot/attributes.phpt
- 新增构造函数属性提升测试文件 tests/aot/constructor-promotion.phpt
- 新增生成器测试文件 tests/aot/generators.phpt
- 新增 trait 基础功能测试文件 tests/aot/trait-basic.phpt
- 更新测试运行脚本支持 main 函数自动调用
- 新增 AOT 编译器语法支持文档 docs/UNSUPPORTED_SYNTAX.md
- 记录 ZVAL 与原生类型性能对比和使用建议
- 文档化扩展模式和二进制可执行文件模式差异
- 详细说明不支持的语法特性包括生成器、可变变量等
|
5 months ago |