< prev index next >

src/hotspot/share/code/dependencies.hpp

Print this page




 440   static Method*   find_unique_concrete_method(Klass* ctxk, Method* m);
 441   static int       find_exclusive_concrete_subtypes(Klass* ctxk, int klen, Klass* k[]);
 442 
 443   // Create the encoding which will be stored in an nmethod.
 444   void encode_content_bytes();
 445 
 446   address content_bytes() {
 447     assert(_content_bytes != NULL, "encode it first");
 448     return _content_bytes;
 449   }
 450   size_t size_in_bytes() {
 451     assert(_content_bytes != NULL, "encode it first");
 452     return _size_in_bytes;
 453   }
 454 
 455   OopRecorder* oop_recorder() { return _oop_recorder; }
 456   CompileLog*  log()          { return _log; }
 457 
 458   void copy_to(nmethod* nm);
 459 


 460   void log_all_dependencies();
 461 
 462   void log_dependency(DepType dept, GrowableArray<ciBaseObject*>* args) {
 463     ResourceMark rm;
 464     int argslen = args->length();
 465     write_dependency_to(log(), dept, args);
 466     guarantee(argslen == args->length(),
 467               "args array cannot grow inside nested ResoureMark scope");
 468   }
 469 
 470   void log_dependency(DepType dept,
 471                       ciBaseObject* x0,
 472                       ciBaseObject* x1 = NULL,
 473                       ciBaseObject* x2 = NULL) {
 474     if (log() == NULL) {
 475       return;
 476     }
 477     ResourceMark rm;
 478     GrowableArray<ciBaseObject*>* ciargs =
 479                 new GrowableArray<ciBaseObject*>(dep_args(dept));




 440   static Method*   find_unique_concrete_method(Klass* ctxk, Method* m);
 441   static int       find_exclusive_concrete_subtypes(Klass* ctxk, int klen, Klass* k[]);
 442 
 443   // Create the encoding which will be stored in an nmethod.
 444   void encode_content_bytes();
 445 
 446   address content_bytes() {
 447     assert(_content_bytes != NULL, "encode it first");
 448     return _content_bytes;
 449   }
 450   size_t size_in_bytes() {
 451     assert(_content_bytes != NULL, "encode it first");
 452     return _size_in_bytes;
 453   }
 454 
 455   OopRecorder* oop_recorder() { return _oop_recorder; }
 456   CompileLog*  log()          { return _log; }
 457 
 458   void copy_to(nmethod* nm);
 459 
 460   DepType validate_dependencies(CompileTask* task, bool counter_changed, char** failure_detail = NULL);
 461 
 462   void log_all_dependencies();
 463 
 464   void log_dependency(DepType dept, GrowableArray<ciBaseObject*>* args) {
 465     ResourceMark rm;
 466     int argslen = args->length();
 467     write_dependency_to(log(), dept, args);
 468     guarantee(argslen == args->length(),
 469               "args array cannot grow inside nested ResoureMark scope");
 470   }
 471 
 472   void log_dependency(DepType dept,
 473                       ciBaseObject* x0,
 474                       ciBaseObject* x1 = NULL,
 475                       ciBaseObject* x2 = NULL) {
 476     if (log() == NULL) {
 477       return;
 478     }
 479     ResourceMark rm;
 480     GrowableArray<ciBaseObject*>* ciargs =
 481                 new GrowableArray<ciBaseObject*>(dep_args(dept));


< prev index next >