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