yarv-dev:515
From: Shiro Kawai <shiro lava.net>
Date: Tue, 28 Jun 2005 00:55:20 -1000 (HST)
Subject: [yarv-dev:515] Re: Bytecode Fetch Optimization for a Java Interpreter
From: SASADA Koichi <ko1 atdot.net> Subject: [yarv-dev:514] Bytecode Fetch Optimization for a Java Interpreter Date: Tue, 28 Jun 2005 19:36:37 +0900 > write-through top-of-stack caching (WT) というのは、 [...] > Gauche がこんな感じ? ちょっと違うかな。 Gaucheでは値レジスタVAL0への書き込みはスタックに反映されず、 スタックに残したければPUSHが必要です。もっともほとんどの場合 複合命令でスタックへのPUSHも行われますが。 条件分岐に使う式の値や、関数呼び出しにおけるオペレータの評価値は スタックにPUSHする必要がなく、直接VAL0の値を使います。 動作だけ見るとVAL0が実質的にスタックトップの役割を果していますね。 開発時のイメージは昔のプロセッサのアキュムレータなんですが。 ちなみにVAL0の'0'は、戻り値の最初の値が格納されるからです。 多値の戻り値の場合、VAL1〜VAL20のレジスタも使われます。 --shiro -- ML: yarv-dev quickml.atdot.net 使い方: http://www.atdot.net/~ko1/quickml
514 2005-06-28 19:36 [ko1 atdot.net ] Bytecode Fetch Optimization for a Java Interpreter -> 515 2005-06-28 19:55 ┣[shiro lava.net ] 517 2005-06-29 11:26 ┗[maeda-yarv atusi.org] 520 2005-06-29 14:12 ┗[ko1 atdot.net ]