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.


More information about the valhalla-dev mailing list