Mercurial > hg > truffle
comparison src/share/vm/opto/callnode.hpp @ 1137:97125851f396
6829187: compiler optimizations required for JSR 292
Summary: C2 implementation for invokedynamic support.
Reviewed-by: kvn, never
author | twisti |
---|---|
date | Tue, 05 Jan 2010 13:05:58 +0100 |
parents | 7c57aead6d3e |
children | c18cbe5936b8 |
comparison
equal
deleted
inserted
replaced
1136:4b84186a8248 | 1137:97125851f396 |
---|---|
560 protected: | 560 protected: |
561 virtual uint cmp( const Node &n ) const; | 561 virtual uint cmp( const Node &n ) const; |
562 virtual uint size_of() const; // Size is bigger | 562 virtual uint size_of() const; // Size is bigger |
563 | 563 |
564 bool _optimized_virtual; | 564 bool _optimized_virtual; |
565 bool _method_handle_invoke; | |
565 ciMethod* _method; // Method being direct called | 566 ciMethod* _method; // Method being direct called |
566 public: | 567 public: |
567 const int _bci; // Byte Code Index of call byte code | 568 const int _bci; // Byte Code Index of call byte code |
568 CallJavaNode(const TypeFunc* tf , address addr, ciMethod* method, int bci) | 569 CallJavaNode(const TypeFunc* tf , address addr, ciMethod* method, int bci) |
569 : CallNode(tf, addr, TypePtr::BOTTOM), | 570 : CallNode(tf, addr, TypePtr::BOTTOM), |
570 _method(method), _bci(bci), _optimized_virtual(false) | 571 _method(method), _bci(bci), |
572 _optimized_virtual(false), | |
573 _method_handle_invoke(false) | |
571 { | 574 { |
572 init_class_id(Class_CallJava); | 575 init_class_id(Class_CallJava); |
573 } | 576 } |
574 | 577 |
575 virtual int Opcode() const; | 578 virtual int Opcode() const; |
576 ciMethod* method() const { return _method; } | 579 ciMethod* method() const { return _method; } |
577 void set_method(ciMethod *m) { _method = m; } | 580 void set_method(ciMethod *m) { _method = m; } |
578 void set_optimized_virtual(bool f) { _optimized_virtual = f; } | 581 void set_optimized_virtual(bool f) { _optimized_virtual = f; } |
579 bool is_optimized_virtual() const { return _optimized_virtual; } | 582 bool is_optimized_virtual() const { return _optimized_virtual; } |
583 void set_method_handle_invoke(bool f) { _method_handle_invoke = f; } | |
584 bool is_method_handle_invoke() const { return _method_handle_invoke; } | |
580 | 585 |
581 #ifndef PRODUCT | 586 #ifndef PRODUCT |
582 virtual void dump_spec(outputStream *st) const; | 587 virtual void dump_spec(outputStream *st) const; |
583 #endif | 588 #endif |
584 }; | 589 }; |