equal
deleted
inserted
replaced
152 } |
152 } |
153 // No matching vframe must push a new vframe |
153 // No matching vframe must push a new vframe |
154 } else { |
154 } else { |
155 // No deferred updates pending for this thread. |
155 // No deferred updates pending for this thread. |
156 // allocate in C heap |
156 // allocate in C heap |
157 deferred = new(ResourceObj::C_HEAP) GrowableArray<jvmtiDeferredLocalVariableSet*> (1, true); |
157 deferred = new(ResourceObj::C_HEAP, mtCompiler) GrowableArray<jvmtiDeferredLocalVariableSet*> (1, true); |
158 thread()->set_deferred_locals(deferred); |
158 thread()->set_deferred_locals(deferred); |
159 } |
159 } |
160 deferred->push(new jvmtiDeferredLocalVariableSet(method(), bci(), fr().id())); |
160 deferred->push(new jvmtiDeferredLocalVariableSet(method(), bci(), fr().id())); |
161 assert(deferred->top()->id() == fr().id(), "Huh? Must match"); |
161 assert(deferred->top()->id() == fr().id(), "Huh? Must match"); |
162 deferred->top()->set_local_at(index, type, value); |
162 deferred->top()->set_local_at(index, type, value); |
321 jvmtiDeferredLocalVariableSet::jvmtiDeferredLocalVariableSet(methodOop method, int bci, intptr_t* id) { |
321 jvmtiDeferredLocalVariableSet::jvmtiDeferredLocalVariableSet(methodOop method, int bci, intptr_t* id) { |
322 _method = method; |
322 _method = method; |
323 _bci = bci; |
323 _bci = bci; |
324 _id = id; |
324 _id = id; |
325 // Alway will need at least one, must be on C heap |
325 // Alway will need at least one, must be on C heap |
326 _locals = new(ResourceObj::C_HEAP) GrowableArray<jvmtiDeferredLocalVariable*> (1, true); |
326 _locals = new(ResourceObj::C_HEAP, mtCompiler) GrowableArray<jvmtiDeferredLocalVariable*> (1, true); |
327 } |
327 } |
328 |
328 |
329 jvmtiDeferredLocalVariableSet::~jvmtiDeferredLocalVariableSet() { |
329 jvmtiDeferredLocalVariableSet::~jvmtiDeferredLocalVariableSet() { |
330 for (int i = 0; i < _locals->length() ; i++ ) { |
330 for (int i = 0; i < _locals->length() ; i++ ) { |
331 delete _locals->at(i); |
331 delete _locals->at(i); |