Mercurial > hg > graal-compiler
comparison src/share/vm/classfile/symbolTable.hpp @ 6266:1d7922586cf6
7023639: JSR 292 method handle invocation needs a fast path for compiled code
6984705: JSR 292 method handle creation should not go through JNI
Summary: remove assembly code for JDK 7 chained method handles
Reviewed-by: jrose, twisti, kvn, mhaupt
Contributed-by: John Rose <john.r.rose@oracle.com>, Christian Thalinger <christian.thalinger@oracle.com>, Michael Haupt <michael.haupt@oracle.com>
author | twisti |
---|---|
date | Tue, 24 Jul 2012 10:51:00 -0700 |
parents | ace99a6ffc83 |
children | da91efe96a93 |
comparison
equal
deleted
inserted
replaced
6241:aba91a731143 | 6266:1d7922586cf6 |
---|---|
55 // Creating or looking up a symbol increments the symbol's reference count | 55 // Creating or looking up a symbol increments the symbol's reference count |
56 TempNewSymbol(Symbol *s) : _temp(s) {} | 56 TempNewSymbol(Symbol *s) : _temp(s) {} |
57 | 57 |
58 // Operator= increments reference count. | 58 // Operator= increments reference count. |
59 void operator=(const TempNewSymbol &s) { | 59 void operator=(const TempNewSymbol &s) { |
60 //clear(); //FIXME | |
60 _temp = s._temp; | 61 _temp = s._temp; |
61 if (_temp !=NULL) _temp->increment_refcount(); | 62 if (_temp !=NULL) _temp->increment_refcount(); |
62 } | 63 } |
63 | 64 |
64 // Decrement reference counter so it can go away if it's unique | 65 // Decrement reference counter so it can go away if it's unique |
65 ~TempNewSymbol() { if (_temp != NULL) _temp->decrement_refcount(); } | 66 void clear() { if (_temp != NULL) _temp->decrement_refcount(); _temp = NULL; } |
67 | |
68 ~TempNewSymbol() { clear(); } | |
66 | 69 |
67 // Operators so they can be used like Symbols | 70 // Operators so they can be used like Symbols |
68 Symbol* operator -> () const { return _temp; } | 71 Symbol* operator -> () const { return _temp; } |
69 bool operator == (Symbol* o) const { return _temp == o; } | 72 bool operator == (Symbol* o) const { return _temp == o; } |
70 // Sneaky conversion function | 73 // Sneaky conversion function |