hotspot/src/share/vm/prims/jvmtiThreadState.hpp
changeset 46271 979ebd346ecf
parent 42895 c97cd79636ec
child 46329 53ccc37bda19
equal deleted inserted replaced
46270:2e7898927798 46271:979ebd346ecf
     1 /*
     1 /*
     2  * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
     2  * Copyright (c) 2003, 2017, Oracle and/or its affiliates. All rights reserved.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     4  *
     4  *
     5  * This code is free software; you can redistribute it and/or modify it
     5  * This code is free software; you can redistribute it and/or modify it
     6  * under the terms of the GNU General Public License version 2 only, as
     6  * under the terms of the GNU General Public License version 2 only, as
     7  * published by the Free Software Foundation.
     7  * published by the Free Software Foundation.
   416  public:
   416  public:
   417   RedefineVerifyMark(KlassHandle *the_class, KlassHandle *scratch_class,
   417   RedefineVerifyMark(KlassHandle *the_class, KlassHandle *scratch_class,
   418                      JvmtiThreadState *state) : _state(state), _scratch_class(*scratch_class)
   418                      JvmtiThreadState *state) : _state(state), _scratch_class(*scratch_class)
   419   {
   419   {
   420     _state->set_class_versions_map(the_class, scratch_class);
   420     _state->set_class_versions_map(the_class, scratch_class);
   421     _scratch_mirror = Handle(_scratch_class->java_mirror());
   421     _scratch_mirror = Handle(Thread::current(), _scratch_class->java_mirror());
   422     (*scratch_class)->set_java_mirror((*the_class)->java_mirror());
   422     (*scratch_class)->set_java_mirror((*the_class)->java_mirror());
   423   }
   423   }
   424 
   424 
   425   ~RedefineVerifyMark() {
   425   ~RedefineVerifyMark() {
   426     // Restore the scratch class's mirror, so when scratch_class is removed
   426     // Restore the scratch class's mirror, so when scratch_class is removed