[转载] Gil Tene大大演示Zing JVM的新JIT编译器的向量化优化
鄙司Azul Systems的CTO,Gil Tene大大这两天忍不住晒了一下鄙司的Zing JVM里的其中一个JIT编译器——Falcon——的一点优化效果。本来在正式公开之前我要遵循公司指引不提太多关于这个编译器的细节,但指引里有一个原则是“CTO大大公开说了的信息都是可以讨…
10492 你可曾听过位运算的天籁?
. 上周末,我的好基友 Gus 给我发来两行 Matlab 代码,让我非常 excited:t = 0:65535; a = bitand(t, bitshift(t, -8));这段代码可以生成一个长度为 65536 的序列 a,其中第 t 个点(从第 0 个开始)的值为 t 的二进制表示中高 8 位与低 8 位的逻辑与,用 …
[链接] Dart-on-LLVM
Google的Dart VM组的Erik Corry大大的新文:Dart-on-LLVM吼的!Google也有官方项目在尝试给他们的动态语言运行时加上LLVM后端了。之前虽然有LLV8项目给V8添加LLVM后端,但那并不是Google的项目而是俄罗斯一个学校的研究项目。其实Dart-on-LLVM的消息同事在…
这是什么鬼
见图… 为啥要在自我描述里放我的ID…
tcc -O2会做什么?
先前在知乎看到有人发问题,问为什么TCC比GCC、Clang快那么多:对于题主生成的一个很大的源码文件,Clang编译它直接崩溃,GCC花了很长时间,而TCC很快就编译完了。最有趣的一点是,题主在给出自己使用方式的例子时,对比的是:$ clang -c -O2 $ gcc -c -O2 …
[八卦] NetBeans IDE C/C++与CLion的C++ parser的一点小八卦
前段时间Solaris被终止开发的消息被传得沸沸扬扬。这边某位知情人士也按耐不住,给我讲了一堆八卦——例如说跟NetBeans相关的。NetBeans的情况NetBeans IDE有C/C++支持,该模块的名字叫做“CND”(就跟Eclipse的C/C++支持有项目名叫做CDT一样)。它从8.1版…
[HotSpot VM] 关于包可访问的虚方法被覆写的一个例子
大家新年快乐!之前在私信收到一个问题,是关于Java里包可访问(package access或者叫package-private)的虚方法被同包内的派生类覆写(override),以及被不同包内的派生类无法覆写,在JVM里是如何实现的。这个问题应该还挺多同学会感兴趣的,所以这里我把…
10477 阿根廷采风:塑料瓶房子
. 圣诞期间,我跟 3 个小伙伴到阿根廷玩了一圈。我们观赏了草原、瀑布、冰川、企鹅,但在这些自然风光之外,最让我大开眼界的,是阿根廷、巴西、巴拉圭三国交界处伊瓜苏小镇上的一座「塑料瓶房子」。 顾名思义,房子的主体是由塑料瓶制作的。这种房子的优点…
「真正男子汉2」里的打码…
上一次关注了一下衍射HUD,这次被打码的模拟器给吸引了目光:这码打得…果然是三个单色MFD么。真好啊能上真家伙的模拟器 ToT顺带上俩老图吧:<- 原型机的驾驶舱。此时HUD还没换成后来的广角衍射HUD。<- 实际部署的状况最后是小号手的1/72的11B的贴纸…还挺…
10458 「基本」的反义词为什么是「応用」?
. 几个月前,知乎上出现过这样一个问题:“基本”的反义词为什么是“应用”? - 日语 - 知乎。题主在学习日语反义词的时候,发现「基本」的反义词是「応用」,大惑不解。该问题下的讨论演变成了对「反义词」定义的争论:有些答主拼命扩大「反义词」的外延,…
[链接] 把C编译到JVM上运行的编译器
就放个链接而已:Renjin.org | Introducing GCC-Bridge: A C/Fortran compiler targeting the JVM, Alex Bertram, 2016-01-31之前有这么个问题:写个编译器,把C++代码编译到JVM的字节码可不可行? - RednaxelaFX 的回答 - 知乎。当时写那回答都没发现还有…
「真正男子汉2」里衍射平显还真是显眼
虽然很久很久之前就已经为11B的衍射平显而HKC个不停,但在大型国防教育节目「真正男子汉2」看到它的特写还是忍不住再激动一下——毕竟连这货都已经不是TG最先进的了,都可以随便上电视了。看的那个激动和自豪啊。真漂亮啊…
10450 用 Unicode 分析韩文字词
一、韩文字符集简介 韩文字是由初声、中声、终声三个部分组成的,例如 한 字的初声是 ㅎ,中声是 ㅏ,终声是 ㄴ。现代韩文有 19 种初声、21 种中声、28 种终声(见下表),理论上可以拼出 19 * 21 * 28 = 11,172 个字。不过,在这些字中,有许多结构复杂、…
点“邀请我回答的问题”不出错了
手动点一下赞。以前什么时候心血来潮点一下“邀请我回答的问题”每次都直接看到错误页面…然后等一小会儿刷新一下才能看到内容。现在总算能直接看到内容了…
[八卦] Phoenix Compiler Infrastructure或许那个有望开源?
上周的就在家附近开的LLVM dev meeting俺可耻地缺席了。都是为了能有足够时间在家照顾好小叶子 ToT好在还是有好几位同事去了。“Hallway session”万岁!于是听到一个让我很感兴趣的、跟LLVM没关系的小道消息:微软研究院(MSR)或许有机会未来会把他们以前…
[HotSpot VM] 单独构建OpenJDK8u的HotSpot VM的脚本
时不时被问到这个问题,还是一并回答了吧。假定从 http://hg.openjdk.java.net/jdk8u/jdk8u/hotspot 签出了HotSpot VM的代码。那么在Mac OS X上,想单独build出HotSpot VM而不想build整个JDK8u的话,可以用我自用的这俩bash函数:# HotSpot development on Mac # Make just the HotSpo…
[科普] 一个演示简单编译器循环优化的例子
是标题党了啦。这是应对VS为什么会生成这样的C++反汇编代码? - 程序员问题而写个一个小例子。并没有啥高深新奇的知识,纯科普而已。 演示用的代码例子先来看用于演示的C代码例子:#include <stdint.h> uint32_t gLastI; uint32_t foo(uint32_t lo, uint3…
[Java] 动态生成类的场景的考察
开个坑慢慢填哈。============================================Oracle/Sun JDK / OpenJDK的Java SE中的场景 在Oracle/Sun JDK及OpenJDK内,动态生成类(字节码)的场景有:Java 1.4之后的反射实现。传送门:关于反射调用方法的一个logJava 1.3开始
[新闻] Oracle开源了其Java AOT编译器
先放传送门:[9] RFR(L) 8166415: Integrate AOT tool JAOTC这是一个基于Graal的AOT编译器,可以跟JDK9+的HotSpot VM搭配使用。这跟.NET的CLR一早就有的NGen是同类,而跟
[C++] GCC对C++虚函数调用的一个优化
这个专栏平时Java / JVM的内容偏多,今天混入一些新血液吧。来聊点C++的话题。不过说起来还是跟JVM相关的内容。在JVM实现中,要达到高性能的一个重要方面就是要对虚方法调用做优化,要尽其所能将虚方法调用点去虚化(devirtualize),以便支持后续的优化。…