Mercurial > hg > graal-jvmci-8
comparison src/share/vm/utilities/growableArray.hpp @ 3939:f6f3bb0ee072
7088955: add C2 IR support to the SA
Reviewed-by: kvn
author | never |
---|---|
date | Sun, 11 Sep 2011 14:48:24 -0700 |
parents | f95d63e2154a |
children | ee138854b3a6 |
comparison
equal
deleted
inserted
replaced
3938:e6b1331a51d2 | 3939:f6f3bb0ee072 |
---|---|
1 /* | 1 /* |
2 * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved. | 2 * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. | 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 * | 4 * |
5 * This code is free software; you can redistribute it and/or modify it | 5 * This code is free software; you can redistribute it and/or modify it |
6 * under the terms of the GNU General Public License version 2 only, as | 6 * under the terms of the GNU General Public License version 2 only, as |
7 * published by the Free Software Foundation. | 7 * published by the Free Software Foundation. |
75 extern "C" { | 75 extern "C" { |
76 typedef int (*_sort_Fn)(const void *, const void *); | 76 typedef int (*_sort_Fn)(const void *, const void *); |
77 } | 77 } |
78 | 78 |
79 class GenericGrowableArray : public ResourceObj { | 79 class GenericGrowableArray : public ResourceObj { |
80 friend class VMStructs; | |
81 | |
80 protected: | 82 protected: |
81 int _len; // current length | 83 int _len; // current length |
82 int _max; // maximum length | 84 int _max; // maximum length |
83 Arena* _arena; // Indicates where allocation occurs: | 85 Arena* _arena; // Indicates where allocation occurs: |
84 // 0 means default ResourceArea | 86 // 0 means default ResourceArea |
134 return (void*)resource_allocate_bytes(thread, elementSize * _max); | 136 return (void*)resource_allocate_bytes(thread, elementSize * _max); |
135 } | 137 } |
136 }; | 138 }; |
137 | 139 |
138 template<class E> class GrowableArray : public GenericGrowableArray { | 140 template<class E> class GrowableArray : public GenericGrowableArray { |
141 friend class VMStructs; | |
142 | |
139 private: | 143 private: |
140 E* _data; // data array | 144 E* _data; // data array |
141 | 145 |
142 void grow(int j); | 146 void grow(int j); |
143 void raw_at_put_grow(int i, const E& p, const E& fill); | 147 void raw_at_put_grow(int i, const E& p, const E& fill); |