comparison src/share/vm/code/dependencies.hpp @ 14704:b51e29501f30

Merged with jdk9/dev/hotspot changeset 9486a41de3b7
author twisti
date Tue, 18 Mar 2014 20:19:10 -0700
parents d8041d695d19 3c6ae9109a86
children 92aa6797d639
comparison
equal deleted inserted replaced
14647:8f483e200405 14704:b51e29501f30
615 615
616 static void print_statistics() PRODUCT_RETURN; 616 static void print_statistics() PRODUCT_RETURN;
617 }; 617 };
618 618
619 619
620 class DependencySignature : public GenericHashtableEntry<DependencySignature, ResourceObj> { 620 class DependencySignature : public ResourceObj {
621 private: 621 private:
622 int _args_count; 622 int _args_count;
623 uintptr_t _argument_hash[Dependencies::max_arg_count]; 623 uintptr_t _argument_hash[Dependencies::max_arg_count];
624 Dependencies::DepType _type; 624 Dependencies::DepType _type;
625 625
630 for (int i = 0; i < _args_count; i++) { 630 for (int i = 0; i < _args_count; i++) {
631 _argument_hash[i] = dep.get_identifier(i); 631 _argument_hash[i] = dep.get_identifier(i);
632 } 632 }
633 } 633 }
634 634
635 bool equals(DependencySignature* sig) const; 635 static bool equals(DependencySignature const& s1, DependencySignature const& s2);
636 uintptr_t key() const { return _argument_hash[0] >> 2; } 636 static unsigned hash (DependencySignature const& s1) { return s1.arg(0) >> 2; }
637 637
638 int args_count() const { return _args_count; } 638 int args_count() const { return _args_count; }
639 uintptr_t arg(int idx) const { return _argument_hash[idx]; } 639 uintptr_t arg(int idx) const { return _argument_hash[idx]; }
640 Dependencies::DepType type() const { return _type; } 640 Dependencies::DepType type() const { return _type; }
641
641 }; 642 };
642 643
643 644
644 // Every particular DepChange is a sub-class of this class. 645 // Every particular DepChange is a sub-class of this class.
645 class DepChange : public StackObj { 646 class DepChange : public StackObj {