Mercurial > hg > truffle
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: |