comparison src/share/vm/opto/library_call.cpp @ 20327:411e30e5fbb8

8026796: Make replace_in_map() on parent maps generic Summary: propagate node replacements along control flow edges to callers Reviewed-by: kvn, vlivanov
author roland
date Wed, 13 Aug 2014 11:00:22 +0200
parents b20a35eae442
children d8847542f83a
comparison
equal deleted inserted replaced
20326:da00a41842a5 20327:411e30e5fbb8
64 virtual bool is_intrinsic() const { return true; } 64 virtual bool is_intrinsic() const { return true; }
65 virtual bool is_virtual() const { return _is_virtual; } 65 virtual bool is_virtual() const { return _is_virtual; }
66 virtual bool is_predicated() const { return _predicates_count > 0; } 66 virtual bool is_predicated() const { return _predicates_count > 0; }
67 virtual int predicates_count() const { return _predicates_count; } 67 virtual int predicates_count() const { return _predicates_count; }
68 virtual bool does_virtual_dispatch() const { return _does_virtual_dispatch; } 68 virtual bool does_virtual_dispatch() const { return _does_virtual_dispatch; }
69 virtual JVMState* generate(JVMState* jvms, Parse* parent_parser); 69 virtual JVMState* generate(JVMState* jvms);
70 virtual Node* generate_predicate(JVMState* jvms, int predicate); 70 virtual Node* generate_predicate(JVMState* jvms, int predicate);
71 vmIntrinsics::ID intrinsic_id() const { return _intrinsic_id; } 71 vmIntrinsics::ID intrinsic_id() const { return _intrinsic_id; }
72 }; 72 };
73 73
74 74
612 // Initialize this file's data structures, for each Compile instance. 612 // Initialize this file's data structures, for each Compile instance.
613 void Compile::register_library_intrinsics() { 613 void Compile::register_library_intrinsics() {
614 // Nothing to do here. 614 // Nothing to do here.
615 } 615 }
616 616
617 JVMState* LibraryIntrinsic::generate(JVMState* jvms, Parse* parent_parser) { 617 JVMState* LibraryIntrinsic::generate(JVMState* jvms) {
618 LibraryCallKit kit(jvms, this); 618 LibraryCallKit kit(jvms, this);
619 Compile* C = kit.C; 619 Compile* C = kit.C;
620 int nodes = C->unique(); 620 int nodes = C->unique();
621 #ifndef PRODUCT 621 #ifndef PRODUCT
622 if ((C->print_intrinsics() || C->print_inlining()) && Verbose) { 622 if ((C->print_intrinsics() || C->print_inlining()) && Verbose) {