< prev index next >

src/share/vm/c1/c1_Instruction.hpp

Print this page

        

@@ -346,13 +346,11 @@
   };
 
  public:
   void* operator new(size_t size) throw() {
     Compilation* c = Compilation::current();
-    void* res = c->arena()->Amalloc(size);
-    ((Instruction*)res)->_id = c->get_next_id();
-    return res;
+    return c->arena()->Amalloc(size);
   }
 
   static const int no_bci = -99;
 
   enum InstructionFlag {

@@ -424,10 +422,11 @@
   , _exception_handlers(NULL)
   {
     check_state(state_before);
     assert(type != NULL && (!type->is_constant() || type_is_constant), "type must exist");
     update_exception_state(_state_before);
+    _id = Compilation::current()->get_next_id();
   }
 
   // accessors
   int id() const                                 { return _id; }
 #ifndef PRODUCT

@@ -1679,10 +1678,13 @@
   {
     _block = this;
 #ifndef PRODUCT
     set_printable_bci(bci);
 #endif
+    Compilation* c = Compilation::current();
+    _id = c->get_next_id();
+    _block_id = c->get_next_block_id();
   }
 
   // accessors
   int block_id() const                           { return _block_id; }
   int bci() const                                { return _bci; }
< prev index next >