8189798: SA cleanup - part 1
authorjgeorge
Thu, 09 Nov 2017 12:12:32 +0530
changeset 47816 ac0af7750da9
parent 47815 87f114c6a99f
child 47817 5d15fd7e9bb1
8189798: SA cleanup - part 1 Summary: Avoid varible redefinitions in SA, modify SA varible names to match hotspot ones Reviewed-by: sspitsyn, coleenp, sballal
src/hotspot/share/gc/cms/compactibleFreeListSpace.cpp
src/hotspot/share/gc/cms/compactibleFreeListSpace.hpp
src/hotspot/share/gc/cms/vmStructs_cms.hpp
src/hotspot/share/runtime/stackValue.cpp
src/hotspot/share/runtime/stackValue.hpp
src/hotspot/share/runtime/vmStructs.cpp
src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/compiler/ImmutableOopMapPair.java
src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/cms/CompactibleFreeListSpace.java
src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/Arguments.java
src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/CompilerThread.java
src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/JNIid.java
src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/VM.java
src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/win32_amd64/Win32AMD64JavaThreadPDAccess.java
src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/win32_x86/Win32X86JavaThreadPDAccess.java
--- a/src/hotspot/share/gc/cms/compactibleFreeListSpace.cpp	Thu Nov 09 00:52:15 2017 -0500
+++ b/src/hotspot/share/gc/cms/compactibleFreeListSpace.cpp	Thu Nov 09 12:12:32 2017 +0530
@@ -57,6 +57,7 @@
 // Defaults are 0 so things will break badly if incorrectly initialized.
 size_t CompactibleFreeListSpace::IndexSetStart  = 0;
 size_t CompactibleFreeListSpace::IndexSetStride = 0;
+size_t CompactibleFreeListSpace::_min_chunk_size_in_bytes = 0;
 
 size_t MinChunkSize = 0;
 
@@ -66,8 +67,8 @@
 
   // MinChunkSize should be a multiple of MinObjAlignment and be large enough
   // for chunks to contain a FreeChunk.
-  size_t min_chunk_size_in_bytes = align_up(sizeof(FreeChunk), MinObjAlignmentInBytes);
-  MinChunkSize = min_chunk_size_in_bytes / BytesPerWord;
+  _min_chunk_size_in_bytes = align_up(sizeof(FreeChunk), MinObjAlignmentInBytes);
+  MinChunkSize = _min_chunk_size_in_bytes / BytesPerWord;
 
   assert(IndexSetStart == 0 && IndexSetStride == 0, "already set");
   IndexSetStart  = MinChunkSize;
--- a/src/hotspot/share/gc/cms/compactibleFreeListSpace.hpp	Thu Nov 09 00:52:15 2017 -0500
+++ b/src/hotspot/share/gc/cms/compactibleFreeListSpace.hpp	Thu Nov 09 12:12:32 2017 +0530
@@ -118,6 +118,7 @@
   };
   static size_t IndexSetStart;
   static size_t IndexSetStride;
+  static size_t _min_chunk_size_in_bytes;
 
  private:
   enum FitStrategyOptions {
@@ -134,6 +135,7 @@
   // A lock protecting the free lists and free blocks;
   // mutable because of ubiquity of locking even for otherwise const methods
   mutable Mutex _freelistLock;
+
   // Locking verifier convenience function
   void assert_locked() const PRODUCT_RETURN;
   void assert_locked(const Mutex* lock) const PRODUCT_RETURN;
--- a/src/hotspot/share/gc/cms/vmStructs_cms.hpp	Thu Nov 09 00:52:15 2017 -0500
+++ b/src/hotspot/share/gc/cms/vmStructs_cms.hpp	Thu Nov 09 12:12:32 2017 +0530
@@ -30,7 +30,8 @@
                    static_field) \
   nonstatic_field(CompactibleFreeListSpace,    _collector,                                    CMSCollector*)                         \
   nonstatic_field(CompactibleFreeListSpace,    _bt,                                           BlockOffsetArrayNonContigSpace)        \
-                                                                                                                                     \
+     static_field(CompactibleFreeListSpace,    _min_chunk_size_in_bytes,                      size_t)                                \
+  nonstatic_field(CMSBitMap,                   _bmStartWord,                                  HeapWord*)                             \
   nonstatic_field(CMSBitMap,                   _bmWordSize,                                   size_t)                                \
   nonstatic_field(CMSBitMap,                   _shifter,                                      const int)                             \
   nonstatic_field(CMSBitMap,                   _bm,                                           BitMapView)                            \
@@ -63,6 +64,7 @@
   declare_toplevel_type(LinearAllocBlock)
 
 #define VM_INT_CONSTANTS_CMS(declare_constant)                            \
+  declare_constant(CompactibleFreeListSpace::IndexSetSize)                \
   declare_constant(Generation::ConcurrentMarkSweep)                       \
 
 #endif // SHARE_VM_GC_CMS_VMSTRUCTS_CMS_HPP
--- a/src/hotspot/share/runtime/stackValue.cpp	Thu Nov 09 00:52:15 2017 -0500
+++ b/src/hotspot/share/runtime/stackValue.cpp	Thu Nov 09 12:12:32 2017 +0530
@@ -191,12 +191,12 @@
 void StackValue::print_on(outputStream* st) const {
   switch(_type) {
     case T_INT:
-      st->print("%d (int) %f (float) %x (hex)",  *(int *)&_i, *(float *)&_i,  *(int *)&_i);
+      st->print("%d (int) %f (float) %x (hex)",  *(int *)&_integer_value, *(float *)&_integer_value,  *(int *)&_integer_value);
       break;
 
     case T_OBJECT:
-     _o()->print_value_on(st);
-      st->print(" <" INTPTR_FORMAT ">", p2i((address)_o()));
+      _handle_value()->print_value_on(st);
+      st->print(" <" INTPTR_FORMAT ">", p2i((address)_handle_value()));
      break;
 
     case T_CONFLICT:
--- a/src/hotspot/share/runtime/stackValue.hpp	Thu Nov 09 00:52:15 2017 -0500
+++ b/src/hotspot/share/runtime/stackValue.hpp	Thu Nov 09 12:12:32 2017 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -31,63 +31,63 @@
 class StackValue : public ResourceObj {
  private:
   BasicType _type;
-  intptr_t  _i; // Blank java stack slot value
-  Handle    _o; // Java stack slot value interpreted as a Handle
+  intptr_t  _integer_value; // Blank java stack slot value
+  Handle    _handle_value;  // Java stack slot value interpreted as a Handle
  public:
 
   StackValue(intptr_t value) {
-    _type  = T_INT;
-    _i     = value;
+    _type              = T_INT;
+    _integer_value     = value;
   }
 
   StackValue(Handle value, intptr_t scalar_replaced = 0) {
-    _type    = T_OBJECT;
-    _i       = scalar_replaced;
-    _o       = value;
-    assert(_i == 0 || _o.is_null(), "not null object should not be marked as scalar replaced");
+    _type                = T_OBJECT;
+    _integer_value       = scalar_replaced;
+    _handle_value        = value;
+    assert(_integer_value == 0 ||  _handle_value.is_null(), "not null object should not be marked as scalar replaced");
   }
 
   StackValue() {
-    _type   = T_CONFLICT;
-    _i      = 0;
+    _type           = T_CONFLICT;
+    _integer_value  = 0;
   }
 
   // Only used during deopt- preserve object type.
   StackValue(intptr_t o, BasicType t) {
     assert(t == T_OBJECT, "should not be used");
-    _type   = t;
-    _i      = o;
+    _type          = t;
+    _integer_value = o;
   }
 
   Handle get_obj() const {
     assert(type() == T_OBJECT, "type check");
-    return _o;
+    return _handle_value;
   }
 
   bool obj_is_scalar_replaced() const {
     assert(type() == T_OBJECT, "type check");
-    return _i != 0;
+    return _integer_value != 0;
   }
 
   void set_obj(Handle value) {
     assert(type() == T_OBJECT, "type check");
-    _o = value;
+    _handle_value = value;
   }
 
   intptr_t get_int() const {
     assert(type() == T_INT, "type check");
-    return _i;
+    return _integer_value;
   }
 
   // For special case in deopt.
   intptr_t get_int(BasicType t) const {
     assert(t == T_OBJECT && type() == T_OBJECT, "type check");
-    return _i;
+    return _integer_value;
   }
 
   void set_int(intptr_t value) {
     assert(type() == T_INT, "type check");
-    _i = value;
+    _integer_value = value;
   }
 
   BasicType type() const { return  _type; }
@@ -95,11 +95,11 @@
   bool equal(StackValue *value) {
     if (_type != value->_type) return false;
     if (_type == T_OBJECT)
-      return (_o == value->_o);
+      return (_handle_value == value->_handle_value);
     else {
       assert(_type == T_INT, "sanity check");
       // [phh] compare only low addressed portions of intptr_t slots
-      return (*(int *)&_i == *(int *)&value->_i);
+      return (*(int *)&_integer_value == *(int *)&value->_integer_value);
     }
   }
 
--- a/src/hotspot/share/runtime/vmStructs.cpp	Thu Nov 09 00:52:15 2017 -0500
+++ b/src/hotspot/share/runtime/vmStructs.cpp	Thu Nov 09 12:12:32 2017 +0530
@@ -2175,6 +2175,7 @@
   declare_toplevel_type(vframeArray)                                      \
   declare_toplevel_type(vframeArrayElement)                               \
   declare_toplevel_type(Annotations*)                                     \
+  declare_type(OopMapValue, StackObj)                                     \
                                                                           \
   /***************/                                                       \
   /* Miscellaneous types */                                               \
--- a/src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/compiler/ImmutableOopMapPair.java	Thu Nov 09 00:52:15 2017 -0500
+++ b/src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/compiler/ImmutableOopMapPair.java	Thu Nov 09 12:12:32 2017 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -34,8 +34,8 @@
 import java.util.Observer;
 
 public class ImmutableOopMapPair {
-  private static CIntegerField pcField;
-  private static CIntegerField offsetField;
+  private static CIntegerField pcOffsetField;
+  private static CIntegerField oopmapOffsetField;
   private static long classSize;
 
   static {
@@ -57,18 +57,18 @@
   }
 
   public int getPC() {
-    return (int) pcField.getValue(address);
+    return (int) pcOffsetField.getValue(address);
   }
 
   public int getOffset() {
-    return (int) offsetField.getValue(address);
+    return (int) oopmapOffsetField.getValue(address);
   }
 
   private static void initialize(TypeDataBase db) {
     Type type = db.lookupType("ImmutableOopMapPair");
 
-    pcField = type.getCIntegerField("_pc_offset");
-    offsetField = type.getCIntegerField("_oopmap_offset");
+    pcOffsetField = type.getCIntegerField("_pc_offset");
+    oopmapOffsetField = type.getCIntegerField("_oopmap_offset");
     classSize = type.getSize();
   }
 
--- a/src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/cms/CompactibleFreeListSpace.java	Thu Nov 09 00:52:15 2017 -0500
+++ b/src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/cms/CompactibleFreeListSpace.java	Thu Nov 09 12:12:32 2017 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2017, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -41,10 +41,11 @@
    private static AddressField dictionaryField;
    private static long         smallLinearAllocBlockFieldOffset;
 
-   private int    heapWordSize;     // 4 for 32bit, 8 for 64 bits
-   private int    IndexSetStart;    // for small indexed list
-   private int    IndexSetSize;
-   private int    IndexSetStride;
+   private int heapWordSize;     // 4 for 32bit, 8 for 64 bits
+   private int IndexSetStart;    // for small indexed list
+   private int IndexSetSize;
+   private int IndexSetStride;
+   private static long MinChunkSizeInBytes;
 
    static {
       VM.registerVMInitializedObserver(new Observer() {
@@ -57,8 +58,6 @@
    private static synchronized void initialize(TypeDataBase db) {
       long sizeofFreeChunk = db.lookupType("FreeChunk").getSize();
       VM vm = VM.getVM();
-      MinChunkSizeInBytes = numQuanta(sizeofFreeChunk, vm.getMinObjAlignmentInBytes()) *
-                     vm.getMinObjAlignmentInBytes();
 
      Type type = db.lookupType("CompactibleFreeListSpace");
      collectorField = type.getAddressField("_collector");
@@ -66,6 +65,7 @@
      dictionaryField      = type.getAddressField("_dictionary");
      indexedFreeListField = type.getAddressField("_indexedFreeList[0]");
      smallLinearAllocBlockFieldOffset = type.getField("_smallLinearAllocBlock").getOffset();
+     MinChunkSizeInBytes = (type.getCIntegerField("_min_chunk_size_in_bytes")).getValue();
    }
 
    public CompactibleFreeListSpace(Address addr) {
@@ -74,7 +74,7 @@
       heapWordSize   = vm.getHeapWordSize();
       IndexSetStart  = vm.getMinObjAlignmentInBytes() / heapWordSize;
       IndexSetStride = IndexSetStart;
-      IndexSetSize   = 257;
+      IndexSetSize   = vm.getIndexSetSize();
    }
 
    // Accessing block offset table
@@ -201,14 +201,8 @@
    // Unlike corresponding VM code, we operate on byte size rather than
    // HeapWord size for convenience.
 
-   private static long numQuanta(long x, long y) {
-      return  ((x+y-1)/y);
-   }
-
    public static long adjustObjectSizeInBytes(long sizeInBytes) {
       return Oop.alignObjectSize(Math.max(sizeInBytes, MinChunkSizeInBytes));
    }
 
-   // FIXME: should I read this directly from VM?
-   private static long MinChunkSizeInBytes;
 }
--- a/src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/Arguments.java	Thu Nov 09 00:52:15 2017 -0500
+++ b/src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/Arguments.java	Thu Nov 09 12:12:32 2017 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2004, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 2017, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -42,11 +42,11 @@
     }
 
     public static String getJVMFlags() {
-        return buildString(jvmFlagsField, jvmFlagsCount);
+        return buildString(jvmFlagsArrayField, numJvmFlags);
     }
 
     public static String getJVMArgs() {
-        return buildString(jvmArgsField, jvmArgsCount);
+        return buildString(jvmArgsArrayField, numJvmArgs);
     }
 
     public static String getJavaCommand() {
@@ -56,20 +56,20 @@
     // Internals only below this point
 
     // Fields
-    private static AddressField jvmFlagsField;
-    private static AddressField jvmArgsField;
+    private static AddressField jvmFlagsArrayField;
+    private static AddressField jvmArgsArrayField;
     private static AddressField javaCommandField;
-    private static long jvmFlagsCount;
-    private static long jvmArgsCount;
+    private static long numJvmFlags;
+    private static long numJvmArgs;
 
     private static synchronized void initialize(TypeDataBase db) {
         Type argumentsType = db.lookupType("Arguments");
-        jvmFlagsField = argumentsType.getAddressField("_jvm_flags_array");
-        jvmArgsField = argumentsType.getAddressField("_jvm_args_array");
+        jvmFlagsArrayField = argumentsType.getAddressField("_jvm_flags_array");
+        jvmArgsArrayField = argumentsType.getAddressField("_jvm_args_array");
         javaCommandField = argumentsType.getAddressField("_java_command");
 
-        jvmArgsCount = argumentsType.getCIntegerField("_num_jvm_args").getValue();
-        jvmFlagsCount = argumentsType.getCIntegerField("_num_jvm_flags").getValue();
+        numJvmArgs = argumentsType.getCIntegerField("_num_jvm_args").getValue();
+        numJvmFlags = argumentsType.getCIntegerField("_num_jvm_flags").getValue();
     }
 
     private static String buildString(AddressField arrayField, long count) {
--- a/src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/CompilerThread.java	Thu Nov 09 00:52:15 2017 -0500
+++ b/src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/CompilerThread.java	Thu Nov 09 12:12:32 2017 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -39,19 +39,19 @@
       });
   }
 
-  private static AddressField _env_field;
+  private static AddressField envField;
 
   private static synchronized void initialize(TypeDataBase db) throws WrongTypeException {
     Type type      = db.lookupType("CompilerThread");
 
-    _env_field = type.getAddressField("_env");
+    envField = type.getAddressField("_env");
   }
 
   private ciEnv _env;
 
   public synchronized ciEnv env() {
     if (_env == null) {
-      Address v = _env_field.getValue(this.getAddress());
+      Address v = envField.getValue(this.getAddress());
       if (v != null) {
         _env = new ciEnv(v);
       }
--- a/src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/JNIid.java	Thu Nov 09 00:52:15 2017 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,87 +0,0 @@
-/*
- * Copyright (c) 2002, 2012, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- *
- */
-
-package sun.jvm.hotspot.runtime;
-
-import java.util.*;
-
-import sun.jvm.hotspot.debugger.*;
-import sun.jvm.hotspot.oops.*;
-import sun.jvm.hotspot.types.*;
-
-public class JNIid extends VMObject {
-  private static MetadataField holder;
-  private static AddressField next;
-  private static CIntegerField offset;
-  private static MetadataField resolvedMethod;
-  private static MetadataField resolvedReceiver;
-
-  private ObjectHeap heap;
-
-  static {
-    VM.registerVMInitializedObserver(new Observer() {
-        public void update(Observable o, Object data) {
-          initialize(VM.getVM().getTypeDataBase());
-        }
-      });
-  }
-
-  private static synchronized void initialize(TypeDataBase db) {
-
-    // FIXME: JNIid has been removed as part of redesign of JNI method,
-    // field ID generation. Please refer to src/share/vm/prims/jniId.hpp/.cpp
-    // For now, commenting out the below code.
-
-    /***********************************************************
-    Type type = db.lookupType("JNIid");
-
-    holder = type.getOopField("_holder");
-    next = type.getAddressField("_next");
-    offset = type.getCIntegerField("_offset");
-    resolvedMethod = type.getOopField("_resolved_method");
-    resolvedReceiver = type.getOopField("_resolved_receiver");
-    ***********************************************************/
-  }
-
-  public JNIid(Address addr, ObjectHeap heap) {
-    super(addr);
-    this.heap = heap;
-  }
-
-  public JNIid next() {
-    Address nextAddr = next.getValue(addr);
-    if (nextAddr == null) {
-      return null;
-    }
-    return new JNIid(nextAddr, heap);
-  }
-
-  public Klass     holder()           { return (Klass) holder.getValue(addr); }
-  public int       offset()           { return (int) offset.getValue(addr); }
-  public Method    method() {
-    return ((InstanceKlass) holder()).getMethods().at(offset());
-  }
-  public Method    resolvedMethod()   { return (Method)resolvedMethod.getValue(addr); }
-  public Klass     resolvedReceiver() { return (Klass) resolvedReceiver.getValue(addr); }
-}
--- a/src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/VM.java	Thu Nov 09 00:52:15 2017 -0500
+++ b/src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/VM.java	Thu Nov 09 12:12:32 2017 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -105,6 +105,7 @@
   private int          heapOopSize;
   private int          klassPtrSize;
   private int          oopSize;
+  private final int    IndexSetSize;
   /** This is only present in a non-core build */
   private CodeCache    codeCache;
   /** This is only present in a C1 build */
@@ -376,6 +377,7 @@
     bytesPerWord = db.lookupIntConstant("BytesPerWord").intValue();
     heapWordSize = db.lookupIntConstant("HeapWordSize").intValue();
     oopSize  = db.lookupIntConstant("oopSize").intValue();
+    IndexSetSize = db.lookupIntConstant("CompactibleFreeListSpace::IndexSetSize").intValue();
 
     intType = db.lookupType("int");
     uintType = db.lookupType("uint");
@@ -594,6 +596,10 @@
     return heapOopSize;
   }
 
+  public int getIndexSetSize() {
+    return IndexSetSize;
+  }
+
   public int getKlassPtrSize() {
     return klassPtrSize;
   }
--- a/src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/win32_amd64/Win32AMD64JavaThreadPDAccess.java	Thu Nov 09 00:52:15 2017 -0500
+++ b/src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/win32_amd64/Win32AMD64JavaThreadPDAccess.java	Thu Nov 09 12:12:32 2017 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2017, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -43,7 +43,7 @@
   private static AddressField  osThreadField;
 
   // Field from OSThread
-  private static Field         osThreadThreadIdField;
+  private static Field         threadIdField;
 
   // This is currently unneeded but is being kept in case we change
   // the currentFrameGuess algorithm
@@ -64,7 +64,7 @@
     osThreadField           = type.getAddressField("_osthread");
 
     type = db.lookupType("OSThread");
-    osThreadThreadIdField = type.getField("_thread_id");
+    threadIdField = type.getField("_thread_id");
   }
 
   public Address getLastJavaFP(Address addr) {
@@ -130,7 +130,7 @@
     Address osThreadAddr = osThreadField.getValue(addr);
     // Get the address of the thread_id within the OSThread
     Address threadIdAddr =
-      osThreadAddr.addOffsetTo(osThreadThreadIdField.getOffset());
+      osThreadAddr.addOffsetTo(threadIdField.getOffset());
     JVMDebugger debugger = VM.getVM().getDebugger();
     return debugger.getThreadForIdentifierAddress(threadIdAddr);
   }
--- a/src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/win32_x86/Win32X86JavaThreadPDAccess.java	Thu Nov 09 00:52:15 2017 -0500
+++ b/src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/win32_x86/Win32X86JavaThreadPDAccess.java	Thu Nov 09 12:12:32 2017 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -42,7 +42,7 @@
   private static AddressField  osThreadField;
 
   // Field from OSThread
-  private static Field         osThreadThreadIdField;
+  private static Field         threadIdField;
 
   // This is currently unneeded but is being kept in case we change
   // the currentFrameGuess algorithm
@@ -63,7 +63,7 @@
     osThreadField           = type.getAddressField("_osthread");
 
     type = db.lookupType("OSThread");
-    osThreadThreadIdField = type.getField("_thread_id");
+    threadIdField = type.getField("_thread_id");
   }
 
   public Address getLastJavaFP(Address addr) {
@@ -129,7 +129,7 @@
     Address osThreadAddr = osThreadField.getValue(addr);
     // Get the address of the thread_id within the OSThread
     Address threadIdAddr =
-      osThreadAddr.addOffsetTo(osThreadThreadIdField.getOffset());
+      osThreadAddr.addOffsetTo(threadIdField.getOffset());
     JVMDebugger debugger = VM.getVM().getDebugger();
     return debugger.getThreadForIdentifierAddress(threadIdAddr);
   }