< prev index next >

src/hotspot/share/prims/stackwalk.cpp

Print this page
rev 60253 : imported patch 8249192-coleenp-review


  19  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  20  * or visit www.oracle.com if you need additional information or have any
  21  * questions.
  22  *
  23  */
  24 
  25 #include "precompiled.hpp"
  26 #include "classfile/javaClasses.hpp"
  27 #include "classfile/javaClasses.inline.hpp"
  28 #include "classfile/vmSymbols.hpp"
  29 #include "logging/log.hpp"
  30 #include "logging/logStream.hpp"
  31 #include "memory/oopFactory.hpp"
  32 #include "memory/universe.hpp"
  33 #include "oops/oop.inline.hpp"
  34 #include "oops/objArrayOop.inline.hpp"
  35 #include "prims/stackwalk.hpp"
  36 #include "runtime/globals.hpp"
  37 #include "runtime/handles.inline.hpp"
  38 #include "runtime/javaCalls.hpp"

  39 #include "runtime/thread.inline.hpp"
  40 #include "runtime/vframe.inline.hpp"
  41 #include "utilities/globalDefinitions.hpp"
  42 
  43 // setup and cleanup actions
  44 void BaseFrameStream::setup_magic_on_entry(objArrayHandle frames_array) {
  45   frames_array->obj_at_put(magic_pos, _thread->threadObj());
  46   _anchor = address_value();
  47   assert(check_magic(frames_array), "invalid magic");
  48 }
  49 
  50 bool BaseFrameStream::check_magic(objArrayHandle frames_array) {
  51   oop   m1 = frames_array->obj_at(magic_pos);
  52   jlong m2 = _anchor;
  53   if (m1 == _thread->threadObj() && m2 == address_value())  return true;
  54   return false;
  55 }
  56 
  57 bool BaseFrameStream::cleanup_magic_on_exit(objArrayHandle frames_array) {
  58   bool ok = check_magic(frames_array);




  19  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  20  * or visit www.oracle.com if you need additional information or have any
  21  * questions.
  22  *
  23  */
  24 
  25 #include "precompiled.hpp"
  26 #include "classfile/javaClasses.hpp"
  27 #include "classfile/javaClasses.inline.hpp"
  28 #include "classfile/vmSymbols.hpp"
  29 #include "logging/log.hpp"
  30 #include "logging/logStream.hpp"
  31 #include "memory/oopFactory.hpp"
  32 #include "memory/universe.hpp"
  33 #include "oops/oop.inline.hpp"
  34 #include "oops/objArrayOop.inline.hpp"
  35 #include "prims/stackwalk.hpp"
  36 #include "runtime/globals.hpp"
  37 #include "runtime/handles.inline.hpp"
  38 #include "runtime/javaCalls.hpp"
  39 #include "runtime/monitorInfo.inline.hpp"
  40 #include "runtime/thread.inline.hpp"
  41 #include "runtime/vframe.inline.hpp"
  42 #include "utilities/globalDefinitions.hpp"
  43 
  44 // setup and cleanup actions
  45 void BaseFrameStream::setup_magic_on_entry(objArrayHandle frames_array) {
  46   frames_array->obj_at_put(magic_pos, _thread->threadObj());
  47   _anchor = address_value();
  48   assert(check_magic(frames_array), "invalid magic");
  49 }
  50 
  51 bool BaseFrameStream::check_magic(objArrayHandle frames_array) {
  52   oop   m1 = frames_array->obj_at(magic_pos);
  53   jlong m2 = _anchor;
  54   if (m1 == _thread->threadObj() && m2 == address_value())  return true;
  55   return false;
  56 }
  57 
  58 bool BaseFrameStream::cleanup_magic_on_exit(objArrayHandle frames_array) {
  59   bool ok = check_magic(frames_array);


< prev index next >