equal
deleted
inserted
replaced
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: |