diff -r 8e7adf982378 -r 7c57aead6d3e src/share/vm/utilities/growableArray.hpp --- a/src/share/vm/utilities/growableArray.hpp Fri Nov 27 07:56:58 2009 -0800 +++ b/src/share/vm/utilities/growableArray.hpp Thu Nov 12 09:24:21 2009 -0800 @@ -278,6 +278,17 @@ _len--; } + // inserts the given element before the element at index i + void insert_before(const int idx, const E& elem) { + check_nesting(); + if (_len == _max) grow(_len); + for (int j = _len - 1; j >= idx; j--) { + _data[j + 1] = _data[j]; + } + _len++; + _data[idx] = elem; + } + void appendAll(const GrowableArray* l) { for (int i = 0; i < l->_len; i++) { raw_at_put_grow(_len, l->_data[i], 0);