446 static Method* find_unique_concrete_method(InstanceKlass* ctxk, Method* m,
447 Klass** participant = nullptr); // out parameter
448 static Method* find_unique_concrete_method(InstanceKlass* ctxk, Method* m, Klass* resolved_klass, Method* resolved_method);
449
450 #ifdef ASSERT
451 static bool verify_method_context(InstanceKlass* ctxk, Method* m);
452 #endif // ASSERT
453
454 // Create the encoding which will be stored in an nmethod.
455 void encode_content_bytes();
456
457 address content_bytes() {
458 assert(_content_bytes != nullptr, "encode it first");
459 return _content_bytes;
460 }
461 size_t size_in_bytes() {
462 assert(_content_bytes != nullptr, "encode it first");
463 return _size_in_bytes;
464 }
465
466 OopRecorder* oop_recorder() { return _oop_recorder; }
467 CompileLog* log() { return _log; }
468
469 void copy_to(nmethod* nm);
470
471 static bool _verify_in_progress; // turn off logging dependencies
472
473 DepType validate_dependencies(CompileTask* task, char** failure_detail = nullptr);
474
475 void log_all_dependencies();
476
477 void log_dependency(DepType dept, GrowableArray<ciBaseObject*>* args) {
478 ResourceMark rm;
479 int argslen = args->length();
480 write_dependency_to(log(), dept, args);
481 guarantee(argslen == args->length(),
482 "args array cannot grow inside nested ResoureMark scope");
483 }
484
485 void log_dependency(DepType dept,
|
446 static Method* find_unique_concrete_method(InstanceKlass* ctxk, Method* m,
447 Klass** participant = nullptr); // out parameter
448 static Method* find_unique_concrete_method(InstanceKlass* ctxk, Method* m, Klass* resolved_klass, Method* resolved_method);
449
450 #ifdef ASSERT
451 static bool verify_method_context(InstanceKlass* ctxk, Method* m);
452 #endif // ASSERT
453
454 // Create the encoding which will be stored in an nmethod.
455 void encode_content_bytes();
456
457 address content_bytes() {
458 assert(_content_bytes != nullptr, "encode it first");
459 return _content_bytes;
460 }
461 size_t size_in_bytes() {
462 assert(_content_bytes != nullptr, "encode it first");
463 return _size_in_bytes;
464 }
465
466 void set_content(address content_bytes, int size_in_bytes) {
467 assert(_content_bytes == nullptr, "not intialized expected");
468 _content_bytes = content_bytes;
469 _size_in_bytes = size_in_bytes;
470 }
471
472 OopRecorder* oop_recorder() { return _oop_recorder; }
473 CompileLog* log() { return _log; }
474
475 void copy_to(nmethod* nm);
476
477 static bool _verify_in_progress; // turn off logging dependencies
478
479 DepType validate_dependencies(CompileTask* task, char** failure_detail = nullptr);
480
481 void log_all_dependencies();
482
483 void log_dependency(DepType dept, GrowableArray<ciBaseObject*>* args) {
484 ResourceMark rm;
485 int argslen = args->length();
486 write_dependency_to(log(), dept, args);
487 guarantee(argslen == args->length(),
488 "args array cannot grow inside nested ResoureMark scope");
489 }
490
491 void log_dependency(DepType dept,
|