2010-09-01から1ヶ月間の記事一覧

[VM][JIT]Brainf*ckで学ぶスクリプト言語処理系高速化。インタプリタ→VMインタプリタ→JITコンパイラ。

スクリプト言語処理系を高速化したくてしたくてたまらない少年少女に届け。表題の通りスクリプト言語処理系の高速化について書きます。対象言語はBrainf*ckにします。Brainf*ckというのは Brainf*ck Brainfuck - Wikipedia というような言語です。要は処理系…

LLVMをCMakeを使ってビルドする。あとexampleのbrainfuck実装を動かしてみる。

Building LLVM with CMake — LLVM 7 documentationを読めばできると思います。 ~ $ wget http://llvm.org/releases/2.7/llvm-2.7.tgz ~ $ tar zxf llvm-2.7.tgz ~ $ cd llvm-2.7 ~/llvm-2.7 $ mkdir build ~/llvm-2.7 $ cd build ~/llvm-2.7 $ cmake .. -i W…

入力したXPathの指す要素を表示点滅させるブックマークレット(一つだけ)

javascript:function b(){if(e.b){e.b=null;e.style.background=e.o}else{e.b=true;if(e.style){e.o=e.style.background;e.style.background="rgba(255,0,0,0.5)"}else{e.o="none"};setTimeout(b,1000)}}function s(d,p){b(e=d.evaluate(p,d,null,XPathResul…

XPathを取得するブックマークレット

javascript:function x(e){if(e.nodeType==9){return""}if(e.hasAttribute("id")){return'id("'+e.getAttribute("id")+'")'}var p=e.parentNode;var t=x(p)+"/"+e.tagName.toLowerCase();var c=p.childNodes;var g=0;var s;for(var i=0,n=c.length;i

test