comparison src/share/vm/interpreter/bytecodeInterpreter.cpp @ 1509:68d6683eaef7

6949423: remove tagged stack interpreter for Zero Summary: Missed Zero changes for 6943304. Reviewed-by: twisti Contributed-by: Gary Benson <gbenson@redhat.com>
author twisti
date Tue, 04 May 2010 02:33:59 -0700
parents 2338d41fbd81
children df736661d0c8
comparison
equal deleted inserted replaced
1508:2ffde6cfe049 1509:68d6683eaef7
187 #endif 187 #endif
188 #endif 188 #endif
189 189
190 // JavaStack Implementation 190 // JavaStack Implementation
191 #define MORE_STACK(count) \ 191 #define MORE_STACK(count) \
192 (topOfStack -= ((count) * Interpreter::stackElementWords())) 192 (topOfStack -= ((count) * Interpreter::stackElementWords))
193 193
194 194
195 #define UPDATE_PC(opsize) {pc += opsize; } 195 #define UPDATE_PC(opsize) {pc += opsize; }
196 /* 196 /*
197 * UPDATE_PC_AND_TOS - Macro for updating the pc and topOfStack. 197 * UPDATE_PC_AND_TOS - Macro for updating the pc and topOfStack.
1948 CASE(_multianewarray): { 1948 CASE(_multianewarray): {
1949 jint dims = *(pc+3); 1949 jint dims = *(pc+3);
1950 jint size = STACK_INT(-1); 1950 jint size = STACK_INT(-1);
1951 // stack grows down, dimensions are up! 1951 // stack grows down, dimensions are up!
1952 jint *dimarray = 1952 jint *dimarray =
1953 (jint*)&topOfStack[dims * Interpreter::stackElementWords()+ 1953 (jint*)&topOfStack[dims * Interpreter::stackElementWords+
1954 Interpreter::stackElementWords()-1]; 1954 Interpreter::stackElementWords-1];
1955 //adjust pointer to start of stack element 1955 //adjust pointer to start of stack element
1956 CALL_VM(InterpreterRuntime::multianewarray(THREAD, dimarray), 1956 CALL_VM(InterpreterRuntime::multianewarray(THREAD, dimarray),
1957 handle_exception); 1957 handle_exception);
1958 SET_STACK_OBJECT(THREAD->vm_result(), -dims); 1958 SET_STACK_OBJECT(THREAD->vm_result(), -dims);
1959 THREAD->set_vm_result(NULL); 1959 THREAD->set_vm_result(NULL);
2373 2373
2374 THREAD->clear_pending_exception(); 2374 THREAD->clear_pending_exception();
2375 assert(except_oop(), "No exception to process"); 2375 assert(except_oop(), "No exception to process");
2376 intptr_t continuation_bci; 2376 intptr_t continuation_bci;
2377 // expression stack is emptied 2377 // expression stack is emptied
2378 topOfStack = istate->stack_base() - Interpreter::stackElementWords(); 2378 topOfStack = istate->stack_base() - Interpreter::stackElementWords;
2379 CALL_VM(continuation_bci = (intptr_t)InterpreterRuntime::exception_handler_for_exception(THREAD, except_oop()), 2379 CALL_VM(continuation_bci = (intptr_t)InterpreterRuntime::exception_handler_for_exception(THREAD, except_oop()),
2380 handle_exception); 2380 handle_exception);
2381 2381
2382 except_oop = (oop) THREAD->vm_result(); 2382 except_oop = (oop) THREAD->vm_result();
2383 THREAD->set_vm_result(NULL); 2383 THREAD->set_vm_result(NULL);