Slide 28
Slide 28 text
通常の関数呼び出し
function foo() { bar(); }
function bar() { throw new Error("oops"); }
foo();
fooに対応するバイトコード(イメージ)
[ 0] enter
…
[ 17] call_ignore_result callee:loc5, argc:1, argv:12
[ 22] ret value:Undefined(const0)
通常の関数呼び出しにおける位置情報の取得の例
barでErrorが作成されたと
き、コールスタックは foo,
bar。
このとき、fooの呼び出しに
対応するスタックフレーム
は、foo内でのpc(=17)の情
報を持っている。
通常の関数呼び出しでは、
このpcから位置情報を取得
する。