< prev index next >

src/hotspot/cpu/ppc/ppc.ad

Print this page
rev 51802 : [mq]: crash_C2_method.patch

@@ -1516,10 +1516,16 @@
     // Save return pc.
     ___(std) std(return_pc, _abi(lr), callers_sp);
   }
 
   C->set_frame_complete(cbuf.insts_size());
+
+#ifndef PRODUCT
+  if (currMethod && currMethod->has_option("crashOnEntry")) {
+    __ illtrap();
+  }
+#endif
 }
 #undef ___
 #undef ___stop
 #undef ___advance
 

@@ -1551,10 +1557,17 @@
 
 void MachEpilogNode::emit(CodeBuffer &cbuf, PhaseRegAlloc *ra_) const {
   Compile* C = ra_->C;
   MacroAssembler _masm(&cbuf);
 
+#ifndef PRODUCT
+  ciMethod *currMethod = C->method();
+  if (currMethod && currMethod->has_option("crashOnExit")) {
+    __ illtrap();
+  }
+#endif
+
   const long framesize = ((long)C->frame_slots()) << LogBytesPerInt;
   assert(framesize >= 0, "negative frame-size?");
 
   const bool method_needs_polling = do_polling() && C->is_method_compilation();
   const bool method_is_frameless  = false /* TODO: PPC port C->is_frameless_method()*/;
< prev index next >