diff src/share/vm/code/pcDesc.hpp @ 931:72088be4b386

6873116: Modify reexecute implementation to use pcDesc to record the reexecute bit Summary: use PcDesc to keep record of the reexecute bit instead of using DebugInfoStreams Reviewed-by: kvn, never, twisti
author cfang
date Thu, 20 Aug 2009 12:42:57 -0700
parents a61af66fc99e
children 8e954aedbb81
line wrap: on
line diff
--- a/src/share/vm/code/pcDesc.hpp	Wed Aug 19 19:05:18 2009 -0700
+++ b/src/share/vm/code/pcDesc.hpp	Thu Aug 20 12:42:57 2009 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright 1997-2005 Sun Microsystems, Inc.  All Rights Reserved.
+ * Copyright 1997-2009 Sun Microsystems, Inc.  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,6 +34,13 @@
   int _scope_decode_offset; // offset for scope in nmethod
   int _obj_decode_offset;
 
+  union PcDescFlags {
+    int word;
+    struct {
+      unsigned int reexecute: 1;
+    } bits;
+  } _flags;
+
  public:
   int pc_offset() const           { return _pc_offset;   }
   int scope_decode_offset() const { return _scope_decode_offset; }
@@ -53,6 +60,10 @@
     upper_offset_limit = (unsigned int)-1 >> 1
   };
 
+  // Flags
+  bool     should_reexecute()              const { return _flags.bits.reexecute; }
+  void set_should_reexecute(bool z)              { _flags.bits.reexecute = z;    }
+
   // Returns the real pc
   address real_pc(const nmethod* code) const;