help me understanding how volatile field of java was executed on hotspot
恶灵骑士
1072213404 at qq.com
Fri Nov 4 06:02:12 UTC 2016
for now, i know that when operating volatile field, it may be executed on below method in hotspot :
interpreter :
hotspot/src/share/vm/interpreter/templateTable.hpp
static void getfield_or_static(int byte_no, bool is_static);
static void putfield_or_static(int byte_no, bool is_static);
C1:
hotspot/src/share/vm/c1/c1_LIRGenerator.cpp
void LIRGenerator::do_LoadField(LoadField* x)
void LIRGenerator::do_StoreField(StoreField* x)
C2:
hotspot/src/share/vm/opto/parse.hpp
void do_get_xxx(Node* obj, ciField* field, bool is_field);
void do_put_xxx(Node* obj, ciField* field, bool is_field);
is there some offical doc describing these method?
and is there someway to prove volatile field actually executed on above three methods?
Thank you !
Arron
More information about the hotspot-dev
mailing list