鹦鹉最初被开发来支持发展的Perl的6.x的分公司,但已经扩展到广泛的项目,该项目提供了支持多种编程语言的虚拟机,代码编译从一种语言到另
这使开发人员能够编译并运行从一种语言字节码成另一种语言。
目前的语言针对鹦鹉VM:
Rakudo Perl 6的
Lua的
Winxed
的Tcl
JavaScript的
红宝石
计划
PHP
的Python
APL
.NET语言
本发行版是新的:
- 固定窗从7.0链接回归.2 cl.exe时。
- 固定RLIMIT编译OpenBSD系统。
- 轻松共同GC压力测试,并重新添加JSON.nqp变种。
什么是新版本 7.3.0 / 7.5.0-dev的:
- 固定窗链接回归从7.0.2与cl.exe时。
- 固定RLIMIT编译OpenBSD系统。
- 轻松共同GC压力测试,并重新添加JSON.nqp变种。
什么是新版本 7.3.0 / 7.4.0-dev的:
- 固定窗链接回归从7.0.2与cl.exe时。
- 固定RLIMIT编译OpenBSD系统。
- 轻松共同GC压力测试,并重新添加JSON.nqp变种。
在什么版本7.3.0新是:
- 固定窗口从7.0.2与CL链接回归.exe文件。
- 固定RLIMIT编译OpenBSD系统。
- 轻松共同GC压力测试,并重新添加JSON.nqp变种。
什么是新版本 7.0.2 / 7.1.0-dev的:
- 增加了一个实验INTERPINFO_MAX_GENERATIONS API,制作MAX_GENERATIONS --ccflags可调,改名为GC_MAX_GENERATIONS,并使用正确的号码。
- 新增弃用的属性都被废弃的函数。
- 由美国模糊垂耳检测固定解析器崩溃。
- 换成了returncc运PCC方法内结束运算。
- 完成PackFile_ API弃用和重构。无错的出口了。
- 重新启用以下NCI签名:T(CString的),2(整数PMC - >短),
- 3( - > INT),4( - >长)。 SDL和诅咒,现在可再次使用。
- 添加静态NCI的thunk有用的子集,以核心的thunk。
- 更新了额外的thunk传递最NCI的例子不libffi,只是
- 2,第3和4需要libffi被破坏性地用在整数的PMC时
- 修正了几个拦截ResizablePMCArray的(QUOT; RPA")从6.10剪接回归,打破了perl6
- 添加一个可选的RPA拼接的警告,的perl5,当超大偏移调整。
- 修正了6.11 GC回归与ResizablePMCArray#1159(1.2%较慢)。
- 跳过启动警告和QUOT;未知代码集`',默认为ASCII"当了nl_langinfo()失败了,默默的用ASCII码。
在什么版本6.9.0新是:
- 启用> 2GB达尔文RAM也
- 修正崩溃鹦鹉〜D8 DEBUG_IMC dump_instructions
- 修正的sprintf宽度计数Unicode字符串。
- 楠/ INF / -Inf 修正宽度的sprintf
- 优化utf8_substr。不要使用慢速UTF8迭代器。
- 再生和修复的iso_8859_1_typetable。新增\ x2028,\ x2029和\五是cclass换行
- 从一个空对象,通过fixup_subs立即无缘保护callmethod。
- 添加Couroutine复位和自动复位的方法。
- 添加-T8跟踪标志协程的状态
- 禁用跟踪标志-T4和-T8与--optimize。
- 协调统一鹦鹉的使用信息
在什么版本6.6.0新是:
- 优化方法调用在pmc2c编译时间开销直接以避免运行时开销。少温度。 PMC的,分枝少,避免每次方法调用至少2个代价高昂的C函数。
- 新参数数量警告"错误的参数数目:%d个过去了,期望%d" 。
在什么版本6.3.0新是:
- 新的基准测试结果
- 对于Cygwin和cygwin64固定测试
- 增加了2个新的例子/基准/文件和基准/ run.sh
在什么版本5.9.0新是:
- 请不要抱怨被分裂UTF8多字节字符块边界。
- 在EOF固定ReadAll方法SEGV,例如ReadAll方法打电话时的两倍。
- 固定SEGV时.const中没有找到。
- 新增PackfileView兼容的方法来EvalPMC。
什么是5.0.0新:
- 这是鹦鹉的第一个稳定版本螺纹支持(通过任务PMC)。
什么在4.10.0版本是新的:
- 新增PMCNULL检查result_info运李。 >
- 在IO固定记录分隔符的错误处理。
什么是新的在4.9.0版本:
- 保持在IMCC优化,修复编码信息该CONCAT运算,但与非ASCII可能更多的情况下进行编码字符串常量。
- 固定的ByteBuffer set_string_native,这成为不同步两个内部缓冲器。
- 预紧配置步骤时,用Perl称为-d Configure.pl。
- 从已安装的配置哈希地带不需要的配置键。保存从每个安装的可执行6360字节。
- Parrot_get_cpu_type返回现在"未知"对于所有未知的CPU类型。在非Windows它4.9.0空字符串之前返回。
在什么版本4.7.0新是:
- 添加.all_tags()和.all_tagged_pmcs()方法PackfileView PMC。
- 若干构建和编码标准修复。
在什么版本4.5.0新是:
- 新增.write_bytes和.read_bytes方法的FileHandle和私营军事公司的Socket
- 新增Parrot_api_set_stdhandle,Parrot_api_new_call_object和Parrot_api_setup_signature功能嵌入API。
- 删除了"可" VTABLE。
在什么版本4.1.0新是:
- 共享库和可安装二进制文件,现在如果剥离建与在Cygwin,这大大降低了磁盘上的大小--optimize。
- 新的实验PCC相关OPS添加到内核。
什么在版本4.0.0是新的:
- 核心:
- 若干清理到插补子系统API
- 清理和文档添加绿色线程和定时器
- 迭代器PMC和家人现在实行"迭代器"作用
- 在Parrot_ext_try修正了它没有正确弹出上下文
- 文档:
- 曾经发布了鹦鹉的所有版本文档现已在http://parrot.github.com
- 测试:
- 定时器PMC测试从PASM转化为PIR
什么是新的在3.10.0版本:
- 标记VTABLE加入到选择PMC
- 鹦鹉::嵌入的Perl 5模块从parrot.git删除,现在住在https://github.com/parrot/parrot-embed
- 系统set_random方法添加到整数PMC,可以无需加载数学dynops会产生这样的随机数
- 新实现绿色线程加入到鹦鹉,准备一个强大的混合线程系统。绿色线程目前没有适用于Windows。
在什么版本3.9.0新是:
- 核心:
- 的whiteknight / kill_threads分公司合并,从而消除了老断线/并发执行。更好和更灵活的并发原语,目前正在开发中。这也涉及到删除一些从鹦鹉汇编代码的最后一丝以及消除共享和share_ro虚函数表。
- random_lib.pir被删除,因为更好的替代品已经存在
- 的冻结和解冻的vtables从默认PMC删除,因为他们是没有用的,造成难以发现的bug。
- 添加了新的子程序分析源科。它可以与-R subprof的命令行参数启用。所得数据可以与KCacheGrind调试进行分析。
- 新增get_string VTABLE到FixedIntegerArray和FixedFloatArray私营军事公司
- 更新()方法加入到哈希PMC,这将更新出一个哈希与另一个内容。这将加快rakudo / NQP的启动时间。
- 语言:
- 更新快照版本1.3.0
- 新增了内置的睡眠
- 修改'多'允许一些多的功能
- 社区
- 的鹦鹉候选编译器工具包,在Winxed重新实现PCT的新回购:https://github.com/parrot/PACT
- 文档:
- 我们在这个过程中在http://trac.parrot.org/迁移我们Trac的维基在Github上https://github.com/parrot/parrot/wiki
- 打包文件PMC文档进行了更新
- 测试:
- 选择PMC测试改进,通过对非Linuxy平台
在什么版本3.6.0新是:
- 核心:
- Class.add_vtable_override,现在可以覆盖一个覆盖
- 整型,浮点和字符串现在可以存储在词法变量。以前,只有两局可以存储在词法。
- VTABLE_substr已被删除。 VTABLE_substr_str已更名为VTABLE_substr
- 增加了一个新PackfileView PMC类型,旨在替代已过时的评估和演示PMC。
- 在字符串PMC的is_integer虚函数表,现在适用于所有的字符串编码。
- 在Win32 Unicode视窗错误消息现在正常工作。
- 在IMCC内存泄漏是固定的。
- 语言:
- 包括鹦鹉Winxed的snaphost更新到1.0.0版本
- Winxed已经迁移到Github上:https://github.com/NotFound/winxed
在什么版本3.5.0新是:
- 核心:
- Parrot_PMC_destroy,Parrot_PMC_mark和Parrot_PMC_invoke从公众的扩展API中删除。
- 现在过去已经过去::语句节点类型,支持可重复使用的临时寄存器。
- 嵌入的测试覆盖率和延伸接口现在至少95%。
- Winxed的快照现已列入鹦鹉核心,以促进从比PIR高级语言编写核心鹦鹉的工具。
- 语言:
- 改进编译时间范围搜索。
- 增加了“利用空间”的语句。
- 编译器类和函数现在住在Winxed;编译器命名空间
- 测试:
- 鹦鹉测试套件线束现在理解HARNESS_TIMER环境变量。将其设置为true值将显示测试运行的时序结果。
- 的IPv6测试做了并行测试友好。
在什么版本3.4.0新是:
- 核心:
- 辈分标记和清除垃圾收集器是新的默认。
- 加入的--gc苗圃-size命令行参数。
- 现在的鹦鹉从底层操作系统变得熵。
- NCI的子系统现在支持8,16,32和64位整数。
- NCI的子系统现在支持英寸长很长"和英寸长双"签名。不是所有的平台/编译器支持这些非标准的类型,因此开发商应注意采取注意,使用它们降低了便携性。
- 在鹦鹉OpenGL的绑定,还有更多的OpenGL函数都可以,这需要上面提到的签名。
- 字节码嵌入相关的API函数移到SRC /嵌入/ bytecode.c。
- 语言:
- 使用'使用的extern“的模块导入。
- 改进阶段0前缀++和 - 运营商
- 在条件允许运营商'空'。
- 若干实例进行更新。
- 社区
- 谷歌夏季代码的粘接期顺利。学生大多是他们班做,太多的代码会很快流出。
- 文档
- 更PCT介绍,请访问:。http://github.com/benabik/cish
在什么版本3.3.0新是:
- 核心:
- 在ISA和isa_pmc的vtables现在可以从PIR覆盖
- IMCC又有了新的改进的外部接口
- 新IMCCompiler PMC增加了原型PDD31酷似功能的PIR和PASM的编译器
- 新--with-LLVM选项Configure.pl,这将链接到LLVM(如果可用)
- 社区
- 鹦鹉虚拟机被接纳到2011年代码 的谷歌暑期
- 生态系统:
- 罗塞拉增加了一个稳定的QUOT;事件"库来实现发布/订阅机制
- 测试:
- 的extend_vtable子系统的测试覆盖率大大增加
什么在版本3.2.0是新的:
- 在Linux和Win32 Unicode文件名完全支持。
- 配置选项--cxx已经一去不复返了。
- 新代GC实现。要启用它运行Configure.pl --gc =克。
- 现在,运定义语义解析。它打开了鹦鹉核心的未来优化的可能性。
- 声明转换“.PARAM”PIR systax。
- 系统PMC,当其表示从指针单独的低级别的缓存器存取实现。
- 增加了对“长双”,“长长”,和64位StructView。
- 在math.h中可供INF / NaN的工具。
- 签名两局被普遍地使用。
什么在版本3.1.0是新的:
- 例外两局现在都可以子类从PIR
- 的IPv6现在支持和测试
- 新增Parrot_ext_try功能扩展API(实验),允许执行尝试在C扩展..抓construcs的。
- 我们现在有一个YAML库调用YAML ::微小,YAML的::端口在Perl 5 微小
- 不推荐使用/实验性的功能现在存储在api.yaml在易于解析格式,这将允许自动化的工具方便地访问这些数据。这将替换DEPRECATED.pod,不再存在。
- 改进GC延迟
- 在低内存的系统改进的GC性能
- 改进的打包文件注释查找复杂
- 的未使用的代码和基于SVN代码删除
什么版本3.0.0是新的:
- 核心:
- 新的API嵌入在&QUOT可用;鹦鹉/ api.h"并记录在文档/ PDD / pdd10_embedding.pod。
- 打包文件的PMC进行重构,现在可以用来生产可运行的字节码。
- 打包文件操作代码,现在抛出嵌入型异常,而不是直接打印错误的详细信息到stderr。
- 文件IO支持Unicode,环境变量,程序名和命令行参数进行了改进。
- 的实验GDB漂亮的打印机在工具的/ dev的鹦鹉字符串和私营军事公司现已推出。 (GDB 7.2或更高版本和Python为必填项)
- c2str.pl和pmc2c.pl改善导致noticably更快的构建。
- 在我们的精华:: SHA256库和位相关的动态OPS错误是由GCI学生诺兰绥定。无论是现在还是在32位和64位系统的正常工作。
- 社区
- 树优化加入了窝,现在住在http://github.com/parrot/tree-optimization。
- 现在羽衣住在http://github.com/parrot/plumage并安装。
- 圣诞节继续如期举行。鹦鹉团队没有邀功此事件。
- 文档:
- HTML文档生成已被重写,并大大简化了。
- 我们已经改善了文档/项目/ git_workflow.pod文档关于保持parrot.git的一个分支同步。
- 我们的README各种语言翻译现在在docs /目录翻译,由于谷歌代码中的学生。
- 测试:
- 一个更好的方式来写" TODO"与鹦鹉的试验测试::更多是由GCI学生费尔南多·布里托实现。
- 在许多核心两局,两局动感和动态操作码的测试覆盖率的增加主要是由于GCI和interpid学生就吸引了。
- 乔纳森"杜克"勒托设立的Debian的Linux和x86_64不再获得吸烟者的GCC编译农场,它不断地与各种配置选项和编译器烟雾提交报告。谢谢,GCC!
- Makefile的依赖检查,现在是自动进行测试,结果更可靠的并行构建。
- 覆盖测试是为使用和不使用杰韦利::封面平台提高。
通过编程之夏的学生泰勒L.柯蒂斯
在什么版本2.11.0新是:
- 准时本地调用帧生成使用LibFFI。
- PIR运find_codepoint不再是试验性的,它现在支持。
- 在libparrot一些公共功能已经达到标准的命名规则。
- 改进的GC链表实现。
- SET_ADDR操作码被替换为核心库的新set_label码。
- 删除过时代码串PMC。
- 增收,is_closed,读,readline的方法插座。
- 增加了实验MappedByteArray PMC类型。
- 新增Parrot_warn_experimental,警告有关实验性的功能的用户。
- 代码前端可执行文件从SRC移动/到前端/.
- 的分块支持接收LWP库。
- 新增了"磁性保护"使目标。
在什么版本2.10.0新是:
- 核心:
- 我们是在GitHub上吧! https://github.com/parrot/parrot
- 配置,构建和测试子系统作了Git的感知
- 新parrot_config键“osvers”,其中包含操作系统版本信息
- 更新至最新NQP-RX
- 一个适当的异常现在扔在IO读取错误
- 垃圾收集器的优化和内存泄漏修复
- 不推荐使用的字符集OPS被删除
- 配置系统学检测的IPv6
- 的mk_language_shell和create_language脚本还没有被移植到Git的。
- 文档:
- 如何使用git对鹦鹉工作
- Git的术语
- 测试:
- 在增加覆盖范围:字符串,FixedBooleanArray,PMCProxy,LexPad
- 社区
- 的MacPorts portfile更新到2.6.0
- 在Fedora包PL /鹦鹉(PostgreSQL相关plparrot)创建此包允许你写在PIR或Rakudo Perl的PostgreSQL的存储过程的6 http://pl.parrot.org
- 鹦鹉基金会与Perl的基金会联手,并参加在谷歌代码2010。
在什么版本2.9.0新是:
- 核心:
- 鹦鹉和Rakudo构建和测试,现在可以剖析源科下运行
- 现在检测的IPv6,从而为未来的网络改进了基础
- mk_language_shell.pl和create_language.pl不再需要安装鹦鹉
- 字符串PMC的“反向”的方法是现在速度更快,支持所有编码
- 改进并简化
- 添加添加字符串的GC根集API
- 加快ORD,SUBSTR,索引和字符串比较操作码
- 测试:
- "让烟雾"通过表彰TEST_JOBS支持并行测试
- 采用Socket PMC,PMC的StringBuilder,PMC ByteBuffer中,mk_language_shell.pl,create_language.pl 添加测试
- 修正" Configure.pl"错过测试
- 鹦鹉和Rakudo Perl 6的,现在有机会获得GCC编译农场
- 在达尔文/ PPC测试
- Git的迁移:
- 大多数开发者工具已经被移植到Git的
- 开发文档多数已为Git的书面
- 平台:
- 鹦鹉,现在可以建了Minix
在内部字符串处理
在什么版本2.8.0新是:
- 核心:
- 内联散列和比较功能
- 哈希的内存分配与系统的malloc懒分配 感动
- 避免的无限异常醒目,而在异常垂死
- 某些SVN修正
- 增加了一个检查重复V表条目两局
- 建筑鹦鹉用Perl 5.12和gcc-4.5 / G ++ - 4.5
- 被淘汰克鲁夫特dynops_mapping后遗留
- 改进的字符集和编码字符串
- 通过重新定位到&QUOT方案更好地组织;工具/构建"和"工具/释放"
- 实施异常克隆虚表功能
- 增加了实验性功能Parrot_getpid和GETPID方法
- - GC-threshold命令行参数添加,控制内存的GC浪费%
- 关闭了很多门票
- 测试:
- 添加更多的核心PMC测试
- 重排一些测试用C覆盖
- 我们现在有阴燃回来了,在http://smolder.parrot.org。提交与&QUOT报告;让烟雾"
- 在鹦鹉的测试skip_all实现::更多完成
- GitMigration:
- 设置为github上TRAC插件测试站点http://mksig.org/trac/
- 在github上Trac的插件代码是http://github.com/cotto/github-trac
- 鹦鹉现在反映在GitHub在http://github.com/parrot/parrot
- 编译器:
- 修正问题IMCC HLL在加载中国人民银行和编译PIR之间load_bytecode区别
在什么版本2.7.0新是:
- 核心:
- 在清理和打包文件冷冻/解冻处理
- 哈希的优化,提高HLL的启动和运行时间
- 一如往常,很多bug修复和其他优化
- 运行时:
- 某些运行时库清理
- 测试:
- 增加了更多的测试,以提高覆盖率
- 在.pmc文件文档新codingstd测试
- 文档:
- 添加文档.pmc(到位一些人仍下落不明,但头)文件
- 常规文档改进和造就了最新
- NQP-RX:
- 从http://github.com/perl6/nqp-rx包括更新版本包括速度提升
在什么版本2.5.0新是:
- 核心:
- 新增的ByteBuffer PMC允许直接操纵字节
- 修改了一些PMC虚表功能,以降低复杂性,简化了报道。
- 修正过去产生PIR输出符号常量PASM
- 通用串API清理
- 核心两局提高测试覆盖率
- 修正了“退出”的操作码,加入CONTROL_EXIT异常类型。
- 实验'解开'操作码改名为'完成'
- NQP-RX:
- 为multisubs和多方法增加了适当的支持
- 固定sigspace处理**量词的正则表达式
- 新增&#x5c,E弦
- 添加正则表达式中使用反转列表为charclass将名单
- 平台:
- EPEL(对于企业版Linux额外的软件包)封装。
对于RHEL6.beta
什么在版本1.8.0是新的:
- 功能:
- 文件句柄PMC现在公开已运行管材子进程的退出代码。
- 增加了对覆盖VTABLE援引PIR对象的实验支持。
- 的方法“类型”被添加到PackfileAnnotations PMC。
- 鹦鹉调用约定的内部,PCC,进行返工。所有调用路径,现在使用CallSignature对象传递参数和返回值。
- 新的API函数'Parrot_ext_call“被调用到C-土地增值税。
- 固定大小的分配进行了改进。
- 将安装的文件“make install的-dev的”现在由“make install”命令,以及覆盖。
- 实验OPS'取'和'vivify“增加了。
- -i选项命令'鹦鹉'现在预先考虑项目的搜索路径。
- 上下文结构与自动属性(context_auto_attrs分支)取代。
- 使用汽车::拱后续配置步骤确定OSNAME(convert_OSNAME分支)。
- 取消了对Perl 5的“%配置'汽车::格式(auto_format_no_Config分支)的依赖。
- MultiSub两局现在字符串化他们的第一个候选人的名字,而不是考生的数量。
- 在配置过程开始时的检测平台进行了改进。
- 在码流对象的“lineof'方法现在预计算行号信息,以便对可变宽度编码字符串更高效。
- P6object现在支持protoobjects。谁和。凡方法。
- 平台:
- 对鹦鹉的端口RTEMS修复被应用。
- 在NetBSD的,共享库现在使用。
- 性能:
- 使用的语境和CallSignature PMC的固定大小的分配器。
- 许多小速度的提高。
- 文档:
- 'P'的含义在NCI函数调用签名是指被澄清。
- 工具:
- 对新语言的存根,由mk_language_shell.pl创建的,现在依靠基于PIR的工具,它正在取代基于5 Perl的工具。
- 库Configure.pir加入。
- 添加库distutils.pir。
什么在版本1.5.0是新的:
- 核心:
- 删除了一些过时的功能和特性
- 删除BSR,JSR branch_cs和RET操作码
- 删除全球堆栈系统
- 改变OPS文件格式,包括序言明确
- 改变所有"新的“迭代器'"指令转换成“国际热核实验堆”说明
- 删除Configure.pl选项指定非工作GC内核
- 如发现由Coverity的删除unexecuting代码
- 改进了鹦鹉调试器
- 增加了实验固定大小的结构分配到GC
- 增加了实验懒舞台分配到GC
- 删除已不存在的PASM1编译对象
- 重构哈希值,钥匙,和迭代器
- 添加" corevm"使目标打造鹦鹉没有所有的支持库
- 删除随机PMC类型和A&QUOT增加;兰特" dynop
- 优化和改进了NCI的thunk发电机
- 新的包含文件libpaths.pasm
- 编译器:
- 多。本地具有相同名称和不同类型的现在是IMCC一个错误。
- 平台:
- 检测改进支持和芬克的MacPorts
- 图书馆更新搜索目录
- 文档:
- "鹦鹉开发人员指南:PIR"发布出版商和可以购买
- 改进有关鹦鹉Debugger文档
- 更新PGE文档
- 其他:
- 新增测试
- 修正代码,文档和标准
在什么版本1.4.0是新的:
- 核心:
- 键和Iterator重构
- 主要pbc_to_exe生成的代码的速度提升
- 新"无限怀念"为了演示GC内核
- gc_debug源科和GC相关heisenbug修复
- 在parrot_config变量扩展消除
- 命令行参数默认情况下,处理为Unicode
- 在NCI大幅优化
- 鹦鹉建立在Win64中
- 哈希值可以使用本机类型作为键和值
- 固定安装pbc_to_exe
- 的PMC生成代码简化
- 改进GC封装和API文档
- 文档:
- 嵌入API候选人名单(文档/ embed.pod)
- PIR书送到出版商
- 测试:
- Perl的测试,以纯PIR的几个转换。
- ç压痕编码标准测试改进
- 的示例代码提高测试覆盖率
- 弃用:
- 的PGE规则去除:<空> <失败> < SP> < LT> < GT> <点>
- 的PGE方法去除:的.text .item .result_object
- 最dynops弃用
- 其他:
- 的OpenGL ::数学库的开端; OpenGL的绑定和图书馆是试验
- 本地化和consting修复
- 很多的内存和线程相关的泄漏插入
评论没有发现