値のタイプがFoo
で、Foo
への参照を受け入れる方法Bar
があります。ほとんどの言語では、新しいFoo
をスタックに割り当てることができ、Bar
に転送しようとすると自動的にそれをボックスに入れます。しかし、私が知っている限り、これはヒープにFoo
の値をコピーし、その参照を使用します。ガベージコレクション言語は、オブジェクトをスタックにインラインで割り当てることができますか?
スタックにガベージコレクションされたオブジェクトを割り当てる方法を言語に含めることは可能ですか?メソッドが終了すると、ランタイムはオブジェクトがまだ使用中であるかどうかを確認し、ヒープ上にオブジェクトを割り当てて参照を更新する必要があります。
これは、参照を保持しないメソッドのパフォーマンスを向上させ、そうしたメソッドのパフォーマンスを低下させると思います。
たとえば、Javaで使用されている[エスケープ解析](https://en.m.wikipedia.org/wiki/Escape_analysis)を参照してください。 –
を参照してください。https://stackoverflow.com/questions/25903320/creating-objects-on-the-stack-memory-in-java – Raedwald