hotspot/src/share/vm/runtime/javaCalls.cpp
changeset 5419 f2e8cc8c12ea
parent 2526 39a58a50be35
child 5547 f4b087cbb361
equal deleted inserted replaced
5418:c4955cb6ed33 5419:f2e8cc8c12ea
     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: