バイトコード
2012年4月25日 (水) 03:52時点における123.216.236.213 (トーク)による版 (ページの作成:「'''バイトコード'''とは、中間コードの実装形式のひとつで、すべてのオペランド(命令)を固定長のバイト数(主に...」)
バイトコードとは、中間コードの実装形式のひとつで、すべてのオペランド(命令)を固定長のバイト数(主に1バイト固定長)で表現する形式のものをいう。
バイトコードはオペコードが固定長であるため、命令のパース時に命令の長さを調べたりすることによる分岐を減らせ、バイトコードをネイティブコードに変換し実行するインタプリタやJITコンパイラの実装をシンプルにできるなどのメリットがある。例えるならばCPUでいうRISCの概念に近い。
近年ではオペコードが固定長でない中間コード形式についてもバイトコードと呼び、中間コードとバイトコードをイコールとする人も増えているが、正確にはバイトコードではない。たとえば.NET Frameworkで用いられるマネージドコードのオペコードは可変長であり、バイトコードではない。ただし、そんな細かいことを気にしても仕方がないので気にしてはならない。
バイトコードはSmalltalkやJavaで使われている。とくにJavaの人気に押されるかたちでJavaバイトコードが爆発的に普及したことで、バイトコードとJavaバイトコードを同一視する人も増えている。ただし、そんな細かいことを気にしても仕方がないので気にしてはならない。
関連項目
参考文献