Move rest of code related blobs from Method to oat

Change-Id: I55041b564ab65317c8b1f863005f20ba650a0322
diff --git a/src/class_linker.cc b/src/class_linker.cc
index 1ec482a..2cbac12 100644
--- a/src/class_linker.cc
+++ b/src/class_linker.cc
@@ -2034,13 +2034,13 @@
 
 bool ClassLinker::LinkInstanceFields(Class* klass) {
   CHECK(klass != NULL);
-  return LinkFields(klass, true);
+  return LinkFields(klass, false);
 }
 
 bool ClassLinker::LinkStaticFields(Class* klass) {
   CHECK(klass != NULL);
   size_t allocated_class_size = klass->GetClassSize();
-  bool success = LinkFields(klass, false);
+  bool success = LinkFields(klass, true);
   CHECK_EQ(allocated_class_size, klass->GetClassSize());
   return success;
 }
@@ -2068,26 +2068,26 @@
   }
 };
 
-bool ClassLinker::LinkFields(Class* klass, bool instance) {
+bool ClassLinker::LinkFields(Class* klass, bool is_static) {
   size_t num_fields =
-      instance ? klass->NumInstanceFields() : klass->NumStaticFields();
+      is_static ? klass->NumStaticFields() : klass->NumInstanceFields();
 
   ObjectArray<Field>* fields =
-      instance ? klass->GetIFields() : klass->GetSFields();
+      is_static ? klass->GetSFields() : klass->GetIFields();
 
   // Initialize size and field_offset
   size_t size;
   MemberOffset field_offset(0);
-  if (instance) {
+  if (is_static) {
+    size = klass->GetClassSize();
+    field_offset = Class::FieldsOffset();
+  } else {
     Class* super_class = klass->GetSuperClass();
     if (super_class != NULL) {
       CHECK(super_class->IsResolved());
       field_offset = MemberOffset(super_class->GetObjectSize());
     }
     size = field_offset.Uint32Value();
-  } else {
-    size = klass->GetClassSize();
-    field_offset = Class::FieldsOffset();
   }
 
   CHECK_EQ(num_fields == 0, fields == NULL);
@@ -2161,7 +2161,7 @@
   }
 
   // We lie to the GC about the java.lang.ref.Reference.referent field, so it doesn't scan it.
-  if (instance && klass->GetDescriptor()->Equals("Ljava/lang/ref/Reference;")) {
+  if (!is_static && klass->GetDescriptor()->Equals("Ljava/lang/ref/Reference;")) {
     // We know there are no non-reference fields in the Reference classes, and we know
     // that 'referent' is alphabetically last, so this is easy...
     CHECK_EQ(num_reference_fields, num_fields);
@@ -2176,7 +2176,7 @@
   for (size_t i = 0; i < num_fields; i++) {
     Field* field = fields->Get(i);
     if (false) {  // enable to debug field layout
-      LOG(INFO) << "LinkFields: " << (instance ? "instance" : "static")
+      LOG(INFO) << "LinkFields: " << (is_static ? "static" : "instance")
                 << " class=" << PrettyClass(klass)
                 << " field=" << PrettyField(field)
                 << " offset=" << field->GetField32(MemberOffset(Field::OffsetOffset()), false);
@@ -2201,14 +2201,14 @@
 #endif
   size = field_offset.Uint32Value();
   // Update klass
-  if (instance) {
+  if (is_static) {
+    klass->SetNumReferenceStaticFields(num_reference_fields);
+    klass->SetClassSize(size);
+  } else {
     klass->SetNumReferenceInstanceFields(num_reference_fields);
     if (!klass->IsVariableSize()) {
       klass->SetObjectSize(size);
     }
-  } else {
-    klass->SetNumReferenceStaticFields(num_reference_fields);
-    klass->SetClassSize(size);
   }
   return true;
 }
@@ -2226,20 +2226,20 @@
       return;
     }
   }
-  CreateReferenceOffsets(klass, true, reference_offsets);
+  CreateReferenceOffsets(klass, false, reference_offsets);
 }
 
 void ClassLinker::CreateReferenceStaticOffsets(Class* klass) {
-  CreateReferenceOffsets(klass, false, 0);
+  CreateReferenceOffsets(klass, true, 0);
 }
 
-void ClassLinker::CreateReferenceOffsets(Class* klass, bool instance,
+void ClassLinker::CreateReferenceOffsets(Class* klass, bool is_static,
                                          uint32_t reference_offsets) {
   size_t num_reference_fields =
-      instance ? klass->NumReferenceInstanceFieldsDuringLinking()
-               : klass->NumReferenceStaticFieldsDuringLinking();
+      is_static ? klass->NumReferenceStaticFieldsDuringLinking()
+                : klass->NumReferenceInstanceFieldsDuringLinking();
   const ObjectArray<Field>* fields =
-      instance ? klass->GetIFields() : klass->GetSFields();
+      is_static ? klass->GetSFields() : klass->GetIFields();
   // All of the fields that contain object references are guaranteed
   // to be at the beginning of the fields list.
   for (size_t i = 0; i < num_reference_fields; ++i) {
@@ -2258,10 +2258,10 @@
     }
   }
   // Update fields in klass
-  if (instance) {
-    klass->SetReferenceInstanceOffsets(reference_offsets);
-  } else {
+  if (is_static) {
     klass->SetReferenceStaticOffsets(reference_offsets);
+  } else {
+    klass->SetReferenceInstanceOffsets(reference_offsets);
   }
 }