枕を欹てて聴く

香炉峰の雪は簾を撥げて看る

C++

Polymorphic Inline Cache implementation of iv / lv5

This is a blog post for 12/22 VM advent calendar. See http://qiita.com/advent-calendar/2012/vm for more nice blog posts :) この記事は更新中です... 完成しました Introduction ECMA262 engine, iv / lv5 には, Polymorphic Inline Cache(以下PIC)が…

JSC Array optimization for adding new property

This is a blog post for 12/6 VM advent calendar. See http://qiita.com/advent-calendar/2012/vm for more nice blog posts :) Introduction ECMA262にとってArrayは最も重要なObjectの1つであり, loop内で高い頻度でアクセスされる性質上, Arrayの最適化…

Announcing Lv5 new RegisterVM

lv5がRegisterVMになりました. これを持ってversion 0.0.2とします. 次の目標は, さらなるtuning, RegExp JIT, 部分的なES.next対応の開始です. benchmark RegisterVM ============================================ RESULTS (means and 95% confidence inte…

lv5.current 2011/12/18

lv5の実装進捗 test262はもちろん全てpassしているので安心です. 8bit string is landed in lv5 「天下のJSCさんもやってないからー」と言いつつやってなかったのですが... ある日, https://lists.webkit.org/pipermail/webkit-dev/2011-November/018618.htm…

iv / lv5, ECMA262 5.1th full support

https://github.com/Constellation/iviv / lv5というECMA262 5.1th完全準拠を目指したengineを書いておりました (highly inspired from V8, JSC)で, もうほぼ仕様準拠しておりました, が, 正規表現のみJSCREを使っていて, そこだけECMA262と挙動が異なってい…

NaN boxing

書いておかないと将来自分が意味不明になるので, NaN boxingについて. LuaJITが古くから(wingologさんの素晴らしい記事によると), JSCが前から, SpiderMonkeyはfatvalsで, NaN boxingすることによりJSValを64bitに収めることを行っています. iv / lv5は以前…

iv / lv5 VM engine

『ゆるゆり』 のOPが頭から離れなかったのですが, 最近EDも頭から離れなくなってきました...https://github.com/Constellation/iviv / lv5のVM engine化がとりあえず完了し, byte codeにcompileしてstack VMで実行するengineになりました!! 今まで「ECMAScri…

vs UTF-8, UTF-16, UCS4

前置き おはミルキィ! ChromeFullFeedが公開停止になった話を前置きとして書いていたのですが, あまり関係がないのと, 長くなりそうになってきたので, 別の記事に分けました. http://d.hatena.ne.jp/Constellation/20110530/1306701693 概要 という前置きで.…

embed V8

embed V8がちょう楽しいので. 最近JSの処理系のソースコードを見るのが個人的な楽しみだったのだけれど, embed V8が思ってたよりもずっと手軽に処理系を触れると知って...原文 Embedder's Guide - Chrome V8 — Google Developers id:edvakf さんによる邦訳. …

NPAPI拡張 iTunes Daemon

iTunesで今なっている曲の情報を取得するAPIを提供するGoogle Chrome拡張, iTunes Daemonを書きました. Windowsでしか動きません. COMを使っているからです... Constellation/iTunesDaemon · GitHubまだまだ実験段階ですが, installしたい方はこちらのlinkか…