Mercurial > hg > truffle
diff src/share/vm/c1x/c1x_TargetMethod.cpp @ 1434:72cfb36c6bb2
* enabled all jtt tests
* added proxy that counts jni calls
* honor hotspot stackshadowpages
* constant pool caching
* monitor enter/exit
* arithmetic stubs (frem, drem, ...)
* create stack values for debug info
* some doc
author | Lukas Stadler <lukas.stadler@oracle.com> |
---|---|
date | Thu, 30 Sep 2010 17:19:48 -0700 |
parents | b61a43cd1255 |
children | 20a3896518ac |
line wrap: on
line diff
--- a/src/share/vm/c1x/c1x_TargetMethod.cpp Thu Sep 16 19:42:20 2010 -0700 +++ b/src/share/vm/c1x/c1x_TargetMethod.cpp Thu Sep 30 17:19:48 2010 -0700 @@ -25,6 +25,9 @@ # include "incls/_precompiled.incl" # include "incls/_c1x_TargetMethod.cpp.incl" +// This function is similar to javaClasses.cpp, it computes the field offset of a (static or instance) field. +// It looks up the name and signature symbols without creating new ones, all the symbols of these classes need to be already loaded. + static void compute_offset(int &dest_offset, klassOop klass_oop, const char* name, const char* signature, bool static_field) { symbolOop name_symbol = SymbolTable::probe(name, strlen(name)); symbolOop signature_symbol = SymbolTable::probe(signature, strlen(signature)); @@ -42,7 +45,8 @@ dest_offset = fd.offset(); } -// create the compute_class +// This piece of macro magic creates the contents of the c1x_compute_offsets method that initializes the field indices of all the access classes. + #define START_CLASS(name) { klassOop k = SystemDictionary::name##_klass(); #define END_CLASS }