Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

タグ

vmに関するmoozのブックマーク (21)

  • Ruby Under a Microscope - Pat Shaughnessy

    Everyone knows that Ruby is a powerful language. Its dynamic nature allows you to concisely write the code you need to actually solve a problem instead of burying yourself under mountains of boilerplate. You don't have to fight it; you just get to enjoy the ride. But how is the magic created? And can you trust it? After all, MRI is written in C - a statically typed, compiled language which is pret

    mooz
    mooz 2013/02/24
    YARV
  • 2012-08-24 日本ソフトウェア科学会チュートリアル(公開版)

    1. 日ソフトウェア科学会第29回大会 チュートリアル 「仮想化技術最前線」 Single-VM Virtualization ~ 最新技術と研究動向 ~ 東京大学 准教授 品川高廣 2012年8月24日(金) 2. 自己紹介 情報基盤センター 情報メディア教育研究部門 准教授 博士(理学) 品川 高廣 研究歴 ~2003年 東京大学博士課程 OSによる細粒度保護ドメインの研究 2003年~2006年 東京農工大学助手 OSカーネルでのセキュリティの研究 2006年~2011年 筑波大学講師 仮想化ソフトウェアBitVisorの研究 2011年~現在 東京大学准教授 同上 チュートリアル「仮想化技術最前線」 2012/8/24 2 Single-VM Virtualization 3. 目次 I. 仮想化の基礎知識  仮想化とは  仮想化の分類 II. 仮想化技術の詳細  プロセッ

    2012-08-24 日本ソフトウェア科学会チュートリアル(公開版)
    mooz
    mooz 2012/10/20
    Single-VM Virtualization ~最新技術と研究動向~
  • ruby-trunk-changes r37180 - r37195 - ruby trunk changes

    今日はメソッド呼び出しまわりの VM の処理の最適化で大きな変更がいくつか入りました。かなり書きかわっているので trunk で手元のアプリケーション/ライブラリが動作するか確認してみて頂けるとおそらくささださんが喜ぶと思います。 ko1:r37180 2012-10-15 01:59:05 +0900 r37121 でインラインキャッシュから切り出したメソッド呼び出しのキャッシュ用の構造体 rb_call_info_t を拡張して、メソッドのID(メソッド名のシンボルの内部表現)、flag、引数の数、ブロックの命令列などメソッド呼び出しに必要な情報をまとめて持たせて、この構造体ごとやりとりするようにすることでメソッド呼び出しを高速化しています。vm_call_method() の引数が th, cfp, ci(callinfo) だけになってすっきりしました。また Instruction

    ruby-trunk-changes r37180 - r37195 - ruby trunk changes
    mooz
    mooz 2012/10/16
    メソッド呼び出しを行う VM 関数の引数を構造体にまとめる変更。C 側でスタックに積む引数の数が減って高速に? とのこと。
  • 2008/09/04-v8とかスクリプトとか

    About 南の島のプログラマ。 たまに役者。 Practical Schemeの主。 WiLiKi:Shiro 最近のエントリ 米国の大学進学無限cxr高校受験Defense振り返ってみると2019年は色々学んで楽...覚えるより忘れる方が難しい(こともある)眼鏡のつると3DプリンタIris Klein Acting ClassSAG-AFTRA conservatory: Voice Acting創作活動って自分を晒け出さねばならないと...More... 最近のコメント Emma SugarRush on CLtL2 (2024/12/25)shiro on 歳を取ると時間が速く過ぎるのは、新しいことに挑戦しないから? (2023/03/14)1357 on 歳を取ると時間が速く過ぎるのは、新しいことに挑戦しないから? (2023/03/01)ベアトリーチェ on ハイポハイポハイポ

    2008/09/04-v8とかスクリプトとか
    mooz
    mooz 2012/08/06
    Lispのネイティブ実装.加算ならfixnumの加算コードを吐き,オペランドがfixnumでなかった場合はtype error例外が飛ぶのでそれを捕まえてより複雑な加算処理を行うというものが多かった.
  • mirichiの日記

    「シミュレーションされた宇宙があったとして、その中の生物が別の宇宙をシミュレーションする。そしてその中の生物がまた別の宇宙をシミュレーションし…この関係は無限に続くと考えられる。我々の宇宙がこの連鎖の中に含まれていないというほうが不自然である」なんて言ったのは誰だったか。突っ込みどころは多すぎだけどもちょっと面白かったかな。 非常に寒い日が続いているけどとりあえずDXRuby1.4.7をリリース。現時点でRuby2.5がサポートされている関係上、対応するRubyは2.5~3.0としてある。機能的には変更無し。 大きなポイントはRuby2.6~3.0で64bit版に対応した所で、Ruby2.5だけなぜかDXRubyがコケる症状が出たので2.5だけは32bitのみとなっている。すぐサポート切れるしまあいいか、という感じで。3.0で動くようにはなってるけども、Ractorには対応していない。構造

    mirichiの日記
    mooz
    mooz 2012/08/03
  • Ustream.tv: ユーザー cybozulabs: x86opti_4_3 Context Threading JIT, @Constellation. 技術

    mooz
    mooz 2012/06/20
    context threading jit
  • Context Threading JIT

    iv ECMA262 5.1th parser / lexer / Register VM / JIT compiler written in C++ test262にbug reportとか https://bugs.ecmascript.org/show_bug.cgi?id=215 https://bugs.ecmascript.org/show_bug.cgi?id=218 https://bugs.ecmascript.org/show_bug.cgi?id=270 https://bugs.ecmascript.org/show_bug.cgi?id=271 https://bugs.ecmascript.org/show_bug.cgi?id=287 https://bugs.ecmascript.org/show_bug.cgi?id=294 ECMA262のbug rep

    mooz
    mooz 2012/06/20
    context threading について
  • CS 6V81--005: System Security and Binary Code Analysis

    Monday and Wednesday: 1:00pm-2:15pm SOM 2.903 $Id: spring2012.t2t, v1.0, last updated Wed May 16 10:40:12 2012 Exp $ Course Overview CS-6V81 is a graduate level, research oriented, system and software security course. The goal of this course is to explain the low-level system details from compiler, linker, loader, to OS kernel and computer architectures, examine the weakest link in each system com

    mooz
    mooz 2012/05/22
    バイナリ・リバースエンジニアリング系の講義.OSやファイルシステム,VMまで盛りだくさん.
  • iv / lv5, ECMA262 Engine

    仕様正確 property enumeration orderについて, (仕方なく)デファクトスタンダードに合わせました 今度test262中にはびこる依拠testをまとめてtest262-discussに投げようかと test262, 現在11582件中, 2 fails 2 failsはtest262のbugで, すでにreportされています https://bugs.ecmascript.org/show_bug.cgi?id=288 lv5がfailする lv5のほうが正しいときがちらほら test262にbug report (とか, 修正を手伝ったりとか) https://bugs.ecmascript.org/show_bug.cgi?id=215 https://bugs.ecmascript.org/show_bug.cgi?id=218 https://bugs.e

    mooz
    mooz 2012/03/26
    Stack VM では arguments のて最適化が困難? Register VM なら対応が可能とか.
  • 『Rubyソースコード完全解説』不完全解説 YarvManiacs

    『るびま』は、Ruby に関する技術記事はもちろんのこと、Rubyist へのインタビューやエッセイ、その他をお届けするウェブ雑誌です。 Rubyist Magazine について 『Rubyist Magazine』、略して『るびま』は、日 Ruby の会の有志による Rubyist の Rubyist による、Rubyist とそうでない人のためのウェブ雑誌です。 最新号 Rubyist Magazine 0058 号 バックナンバー Rubyist Magazine 0058 号 RubyKaigi 2018 直前特集号 Rubyist Magazine 0057 号 RubyKaigi 2017 直前特集号 Rubyist Magazine 0056 号 Rubyist Magazine 0055 号 Rubyist Magazine 0054 号 東京 Ruby 会議 11 直

  • るびま

    『るびま』は、Ruby に関する技術記事はもちろんのこと、Rubyist へのインタビューやエッセイ、その他をお届けするウェブ雑誌です。 Rubyist Magazine について 『Rubyist Magazine』、略して『るびま』は、日 Ruby の会の有志による Rubyist の Rubyist による、Rubyist とそうでない人のためのウェブ雑誌です。 最新号 Rubyist Magazine 0058 号 バックナンバー Rubyist Magazine 0058 号 RubyKaigi 2018 直前特集号 Rubyist Magazine 0057 号 RubyKaigi 2017 直前特集号 Rubyist Magazine 0056 号 Rubyist Magazine 0055 号 Rubyist Magazine 0054 号 東京 Ruby 会議 11 直

  • Threaded code - Wikipedia

    In computer science, threaded code is a programming technique where the code has a form that essentially consists entirely of calls to subroutines. It is often used in compilers, which may generate code in that form or be implemented in that form themselves. The code may be processed by an interpreter or it may simply be a sequence of machine code call instructions. Threaded code has better densit

  • Announcing Lv5 new RegisterVM - 枕を欹てて聴く

    lv5がRegisterVMになりました. これを持ってversion 0.0.2とします. 次の目標は, さらなるtuning, RegExp JIT, 部分的なES.next対応の開始です. benchmark RegisterVM ============================================ RESULTS (means and 95% confidence intervals) -------------------------------------------- Total: 11453.9ms +/- 0.7% -------------------------------------------- v8: 11453.9ms +/- 0.7% crypto: 1085.9ms +/- 5.5% regexp: 1085.0ms +/- 0.5%

    Announcing Lv5 new RegisterVM - 枕を欹てて聴く
  • Introducing SquirrelFish Extreme.ja – WebKit – Trac

    This page contains a Japanese translation of the post on Surfin' Safari blog "Introducing SquirrelFish Extreme". この文書について "Introducing SquirrelFish Extreme" の日語訳です ​http://webkit.org/blog/214/introducing-squirrelfish-extreme/ 推敲歓迎: 誤訳, タイポ, 訳語の不統一, そのほか... SquirrelFish Extreme を紹介します ちょうど三ヶ月前、私達は SquirrelFish を発表しました。 これは私達の JavaScript エンジンを大改造するもので、 高性能なバイトコードインタプリタを導入しました。 今日は次世代の JavaScript エン

    mooz
    mooz 2011/08/20
    SquirrelFish の最適化
  • 2011-08-01 - valgrind 論文読んだメモ - 兼雑記

    時々 valgrind はオーパーツだとかそういう主張をしてたりします。コードとか論文とかチラ見くらいはしてたのですが、まあちゃんと眺めてみたのでメモ。 Valgrind: A Framework for Heavyweight Dynamic Binary Instrumentation http://valgrind.org/docs/valgrind2007.pdf 1. イントロ 1.1 DBA and DBI Dynamic binary analysis って種類のツールがあるんですよ、と紹介。その手のツールは Dynamic binary instrumentation で実装されてることが多いですよ、と。つまり実行時にコード埋めるって話。 DBI ってのはすげー汎用性あるんですけどイマイチ注目されてなくてよろしくない、と。 1.2 Shadow Value Tools an

    2011-08-01 - valgrind 論文読んだメモ - 兼雑記
    mooz
    mooz 2011/08/02
  • iv / lv5 VM engine - 枕を欹てて聴く

    『ゆるゆり』 のOPが頭から離れなかったのですが, 最近EDも頭から離れなくなってきました... https://github.com/Constellation/iv iv / lv5のVM engine化がとりあえず完了し, byte codeにcompileしてstack VMで実行するengineになりました!! 今まで「ECMAScript engineをー」と言われるたびに, 「といっても, ASTのInterpreterなんですけどね」と言っていたのですが, これで心置きなくengineを名乗れそうな気がします. ちなみに, AST Interpreterですが, 抽象化の結果ひとつのengineでどちらも使えるとかいうかなり怪しいことになっており, --interp optionを付けるとInterpreterで評価することができます(はっきりわかるほどVMの方が速いです.

    iv / lv5 VM engine - 枕を欹てて聴く
  • 名古屋Geek Bar LT - 七誌の開発日記

    名古屋Geek Bar 5月2日(月)でLTをして来ました。V6関係のツールがメインですが、自己紹介に絡めて独自言語のセルフホスティングも取り上げています。 V6 Interpreter (Nagoya Geek Bar 2011-05-02)SlideShareはレイアウトが崩れないようにPDFをアップしています。PowerPointのデータはこちらです。 v6int.pptx USTREAM中継の録画も配信中です。 http://www.ustream.tv/recorded/14429093 取り上げた話題については以下を参照してください。 id:n7shi:20090612 F# Interactiveの改造 id:n7shi:20101204 V6ファイルシステム読み込みツール id:n7shi:20110111 独自言語コンパイラ id:n7shi:20110408 Silve

    名古屋Geek Bar LT - 七誌の開発日記
    mooz
    mooz 2011/05/03
    fork/exec の実装.UNIX V6 における fork/exec について.
  • JavaScriptはJava, .netに続くIL環境になれるか - .mjtの日記復帰計画

    この記事は古い postmortem: http://d.hatena.ne.jp/mjt/20110502/p1 OSという文脈はともかく、Google Chromeが現在の環境としてもっとも重要な言語処理系を配布しているということは注目に値する。 Java, .net, LLVMが乗れなかったのは何故か 重要なのは、JavaScriptのJITCという市場に、Javaや他の中間言語システムが乗れなかったというポイントに思える。 市場にあるほぼ全てのJavaScript JITCは、自前の(互換性のない)中間言語とコンパイラを持ち、他の言語を取り入れる余裕が無い。 そうなると、今後はJavaのバイトコードを出力する代わりに、JavaScriptを出力するコンパイラが求められる時代が来るかも知れない。 例えば、ダイナミックリコンパイルを伴うエミュレータをそれぞれの環境で実現することを考える

    JavaScriptはJava, .netに続くIL環境になれるか - .mjtの日記復帰計画
  • EmacsWiki: Byte Code Engineering

    The “byte-code” is a special representation that is executed by Emacs VM. The Emacs VM is a simple stack-machine interpreter. This page collects informations for byte-code and Emacs VM. DocumentsThe byte-code is translated by the Emacs Lisp compiler. See the documentation for byte compiling: CompiledFile and Info (Elisp, Section 16, Byte Compilation). SpecsSee the emacs lisp and C sources for byte

    mooz
    mooz 2011/04/02
    Emacs の VM バイトコード命令セット.
  • dis/inspect モジュールを使った Python のハッキング

    目次 dis/inspect モジュールと ceval.c を使った Python のハッキング dis モジュールと python interpreter 関数に属する func_code オブジェクトとco_varnames, co_names, co_consts 属性 python interpreter ceval.c:Python Virtual Machine の C ソース・コード inspect モジュール dis, inspect を使った一行コード python コードの hack x,y = y,x, x,z,y = z,y,x Python オブジェクト 関数 STORE_GLOBAL/STORE_NAME inspect 経由による クラスの disassemble LOAD_ATTRI リスト hash generator thread decorator 構

    mooz
    mooz 2011/03/22
    Python VM の解説.