diff src/share/vm/c1x/c1x_VMExits.cpp @ 2492:4e5515d09314

Fixed merge issues. - Accessing static fields from the java.lang.Class object instead of the klassOop (1-line-change) - Fixed issue with RiField object caching (the caching was only taking the offset as a field ID, but need to take offset+is_static)
author Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
date Fri, 22 Apr 2011 19:00:07 +0200
parents 34354e2e40a3
children 3e3e8bd12730
line wrap: on
line diff
--- a/src/share/vm/c1x/c1x_VMExits.cpp	Fri Apr 22 15:30:53 2011 +0200
+++ b/src/share/vm/c1x/c1x_VMExits.cpp	Fri Apr 22 19:00:07 2011 +0200
@@ -136,7 +136,7 @@
   return (oop) result.get_jobject();
 }
 
-oop VMExits::createRiField(Handle holder, Handle name, Handle type, int index, TRAPS) {
+oop VMExits::createRiField(Handle holder, Handle name, Handle type, int index, int flags, TRAPS) {
   assert(!holder.is_null(), "just checking");
   assert(!name.is_null(), "just checking");
   assert(!type.is_null(), "just checking");
@@ -147,8 +147,10 @@
   args.push_oop(name);
   args.push_oop(type);
   args.push_int(index);
+  args.push_int(flags);
   JavaCalls::call_interface(&result, vmExitsKlass(), vmSymbols::createRiField_name(), vmSymbols::createRiField_signature(), &args, THREAD);
   check_pending_exception("Error while calling createRiField");
+  assert(result.get_type() == T_OBJECT, "just checking");
   return (oop) result.get_jobject();
 }