src/share/vm/opto/parse.hpp

changeset 5110
6f3fd5150b67
parent 4660
133bf557ef77
child 5658
edb5ab0f3fe5
     1.1 --- a/src/share/vm/opto/parse.hpp	Mon May 06 19:49:23 2013 -0700
     1.2 +++ b/src/share/vm/opto/parse.hpp	Wed May 08 15:08:01 2013 -0700
     1.3 @@ -330,6 +330,7 @@
     1.4    bool          _wrote_final;   // Did we write a final field?
     1.5    bool          _count_invocations; // update and test invocation counter
     1.6    bool          _method_data_update; // update method data oop
     1.7 +  Node*         _alloc_with_final;   // An allocation node with final field
     1.8  
     1.9    // Variables which track Java semantics during bytecode parsing:
    1.10  
    1.11 @@ -370,6 +371,11 @@
    1.12    void      set_wrote_final(bool z)   { _wrote_final = z; }
    1.13    bool          count_invocations() const  { return _count_invocations; }
    1.14    bool          method_data_update() const { return _method_data_update; }
    1.15 +  Node*    alloc_with_final() const   { return _alloc_with_final; }
    1.16 +  void set_alloc_with_final(Node* n)  {
    1.17 +    assert((_alloc_with_final == NULL) || (_alloc_with_final == n), "different init objects?");
    1.18 +    _alloc_with_final = n;
    1.19 +  }
    1.20  
    1.21    Block*             block()    const { return _block; }
    1.22    ciBytecodeStream&  iter()           { return _iter; }
    1.23 @@ -512,7 +518,7 @@
    1.24  
    1.25    // loading from a constant field or the constant pool
    1.26    // returns false if push failed (non-perm field constants only, not ldcs)
    1.27 -  bool push_constant(ciConstant con, bool require_constant = false);
    1.28 +  bool push_constant(ciConstant con, bool require_constant = false, bool is_autobox_cache = false);
    1.29  
    1.30    // implementation of object creation bytecodes
    1.31    void emit_guard_for_new(ciInstanceKlass* klass);

mercurial