Unsafe value access
Paul Sandoz
paul.sandoz at oracle.com
Thu Jun 22 21:28:27 UTC 2017
> On 22 Jun 2017, at 12:28, Frederic Parain <frederic.parain at oracle.com> wrote:
>
> Paul,
>
> For the interpreter, the implementation of getfield/putfield for value fields is split
> between an assembly template and some runtime methods.
>
> The assembly template can be found in src/cpu/x86/vm/templateTable_x86.cpp,
> look for this method:
>
> void TemplateTable::getfield_or_static(int byte_no, bool is_static, RewriteControl rc, bool is_vgetfield)
>
> The runtime support can be found in src/share/vm/interpreter/interpreterRuntime.cpp,
> look for methods InterpreterRuntime::qgetfield(JavaThread* thread, oopDesc* value, int offset)
> and InterpreterRuntime::qputfield(JavaThread* thread, oopDesc* obj, oopDesc* value, int offset).
>
Thanks, i will take a look.
> Mr Simms did a number of experiments at the beginning of the project to measure
> the cost of the different solutions to provide atomicity, I would recommend to sync
> with him.
>
We have already had some initial conversations.
Paul.
More information about the valhalla-dev
mailing list