Mercurial > hg > graal-compiler
diff src/share/vm/graal/graalVmIds.cpp @ 3634:076542d505cd
Remove the need for a global stub array.
author | Thomas Wuerthinger <thomas.wuerthinger@oracle.com> |
---|---|
date | Mon, 14 Nov 2011 22:38:54 +0100 |
parents | 136ea96eb7f8 |
children |
line wrap: on
line diff
--- a/src/share/vm/graal/graalVmIds.cpp Mon Nov 14 22:34:14 2011 +0100 +++ b/src/share/vm/graal/graalVmIds.cpp Mon Nov 14 22:38:54 2011 +0100 @@ -27,25 +27,11 @@ // VmIds implementation -GrowableArray<address>* VmIds::_stubs = NULL; - - -void VmIds::initializeObjects() { - if (_stubs == NULL) { - assert(_localHandles == NULL, "inconsistent state"); - _stubs = new (ResourceObj::C_HEAP) GrowableArray<address> (64, true); - } - assert(_localHandles->length() == 0, "invalid state"); -} - jlong VmIds::addStub(address stub) { - assert(!_stubs->contains(stub), "duplicate stub"); - return _stubs->append(stub) | STUB; + return (jlong)stub; } address VmIds::getStub(jlong id) { - assert((id & TYPE_MASK) == STUB, "wrong id type, STUB expected"); - assert((id & ~TYPE_MASK) >= 0 && (id & ~TYPE_MASK) < _stubs->length(), "STUB index out of bounds"); - return _stubs->at(id & ~TYPE_MASK); + return (address)id; }