comparison src/share/vm/runtime/javaCalls.cpp @ 1506:2338d41fbd81

6943304: remove tagged stack interpreter Reviewed-by: coleenp, never, gbenson
author twisti
date Fri, 30 Apr 2010 08:37:24 -0700
parents b9fba36710f2
children c18cbe5936b8
comparison
equal deleted inserted replaced
1505:0c5b3cf3c1f5 1506:2338d41fbd81
1 /* 1 /*
2 * Copyright 1997-2009 Sun Microsystems, Inc. All Rights Reserved. 2 * Copyright 1997-2010 Sun Microsystems, Inc. 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.
415 for(int i = 0; i < _size; i++) { 415 for(int i = 0; i < _size; i++) {
416 if (_is_oop[i]) { 416 if (_is_oop[i]) {
417 // Handle conversion 417 // Handle conversion
418 _value[i] = (intptr_t)Handle::raw_resolve((oop *)_value[i]); 418 _value[i] = (intptr_t)Handle::raw_resolve((oop *)_value[i]);
419 } 419 }
420 // The parameters are moved to the parameters array to include the tags.
421 if (TaggedStackInterpreter) {
422 // Tags are interspersed with arguments. Tags are first.
423 int tagged_index = i*2;
424 _parameters[tagged_index] = _is_oop[i] ? frame::TagReference :
425 frame::TagValue;
426 _parameters[tagged_index+1] = _value[i];
427 }
428 } 420 }
429 // Return argument vector 421 // Return argument vector
430 return TaggedStackInterpreter ? _parameters : _value; 422 return _value;
431 } 423 }
432 424
433 425
434 class SignatureChekker : public SignatureIterator { 426 class SignatureChekker : public SignatureIterator {
435 private: 427 private: