vmやjavascript-engineの概要や歴史に関して説明しているスライドです。 その中で、old javascript engineはstack-baseを採用し、 modern javascript engineは、register-baseの中間表現を採用しているという下りがあります。 javascriptに限らないですが、確かにそういう感じはあります。 JVMやCILがstack-baseなのは歴史的な経緯なのだと思います。 stack-baseだと何が嬉しいのかというと、parseする際や、他にtranslateする際に、非常に楽です。 push-pop-push-popだけでオペランドや定義値の連鎖を表現できるので、 非常にシンプルなコードになります。 逆にregister-baseだと何がうれしいのかと言うと、たぶんSSA形式が関連しているように思います。 regist