29 #include "jvmci/jvmciEnv.hpp" |
29 #include "jvmci/jvmciEnv.hpp" |
30 #include "jvmci/jvmciCompilerToVM.hpp" |
30 #include "jvmci/jvmciCompilerToVM.hpp" |
31 #include "jvmci/vmStructs_jvmci.hpp" |
31 #include "jvmci/vmStructs_jvmci.hpp" |
32 #include "memory/universe.hpp" |
32 #include "memory/universe.hpp" |
33 #include "oops/compressedOops.hpp" |
33 #include "oops/compressedOops.hpp" |
|
34 #include "oops/klass.inline.hpp" |
34 #include "runtime/sharedRuntime.hpp" |
35 #include "runtime/sharedRuntime.hpp" |
35 #include "utilities/resourceHash.hpp" |
36 #include "utilities/resourceHash.hpp" |
36 |
37 |
37 |
38 |
38 int CompilerToVM::Data::Klass_vtable_start_offset; |
39 int CompilerToVM::Data::Klass_vtable_start_offset; |
306 if (vmField.isStatic && vmField.typeString != NULL) { |
307 if (vmField.isStatic && vmField.typeString != NULL) { |
307 if (strcmp(vmField.typeString, "bool") == 0) { |
308 if (strcmp(vmField.typeString, "bool") == 0) { |
308 BOXED_BOOLEAN(box, *(jbyte*) vmField.address); |
309 BOXED_BOOLEAN(box, *(jbyte*) vmField.address); |
309 assert(box.is_non_null(), "must have a box"); |
310 assert(box.is_non_null(), "must have a box"); |
310 } else if (strcmp(vmField.typeString, "int") == 0 || |
311 } else if (strcmp(vmField.typeString, "int") == 0 || |
311 strcmp(vmField.typeString, "jint") == 0) { |
312 strcmp(vmField.typeString, "jint") == 0 || |
|
313 strcmp(vmField.typeString, "uint32_t") == 0) { |
312 BOXED_LONG(box, *(jint*) vmField.address); |
314 BOXED_LONG(box, *(jint*) vmField.address); |
313 assert(box.is_non_null(), "must have a box"); |
315 assert(box.is_non_null(), "must have a box"); |
314 } else if (strcmp(vmField.typeString, "uint64_t") == 0) { |
316 } else if (strcmp(vmField.typeString, "uint64_t") == 0) { |
315 BOXED_LONG(box, *(uint64_t*) vmField.address); |
317 BOXED_LONG(box, *(uint64_t*) vmField.address); |
316 assert(box.is_non_null(), "must have a box"); |
318 assert(box.is_non_null(), "must have a box"); |
366 } |
368 } |
367 |
369 |
368 #define COUNT_FLAG(ignore) +1 |
370 #define COUNT_FLAG(ignore) +1 |
369 #ifdef ASSERT |
371 #ifdef ASSERT |
370 #define CHECK_FLAG(type, name) { \ |
372 #define CHECK_FLAG(type, name) { \ |
371 JVMFlag* flag = JVMFlag::find_flag(#name, strlen(#name), /*allow_locked*/ true, /* return_flag */ true); \ |
373 const JVMFlag* flag = JVMFlag::find_declared_flag(#name); \ |
372 assert(flag != NULL, "No such flag named " #name); \ |
374 assert(flag != NULL, "No such flag named " #name); \ |
373 assert(flag->is_##type(), "JVMFlag " #name " is not of type " #type); \ |
375 assert(flag->is_##type(), "JVMFlag " #name " is not of type " #type); \ |
374 } |
376 } |
375 #else |
377 #else |
376 #define CHECK_FLAG(type, name) |
378 #define CHECK_FLAG(type, name) |