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. |
129 |
129 |
130 // Note: For JDK 1.3 StrictMath exists and Math.sin/cos/sqrt are |
130 // Note: For JDK 1.3 StrictMath exists and Math.sin/cos/sqrt are |
131 // java methods. Interpreter::method_kind(...) will select |
131 // java methods. Interpreter::method_kind(...) will select |
132 // this entry point for the corresponding methods in JDK 1.3. |
132 // this entry point for the corresponding methods in JDK 1.3. |
133 // get argument |
133 // get argument |
134 if (TaggedStackInterpreter) { |
134 __ fld_d(Address(rsp, 1*wordSize)); |
135 __ pushl(Address(rsp, 3*wordSize)); // push hi (and note rsp -= wordSize) |
|
136 __ pushl(Address(rsp, 2*wordSize)); // push lo |
|
137 __ fld_d(Address(rsp, 0)); // get double in ST0 |
|
138 __ addptr(rsp, 2*wordSize); |
|
139 } else { |
|
140 __ fld_d(Address(rsp, 1*wordSize)); |
|
141 } |
|
142 switch (kind) { |
135 switch (kind) { |
143 case Interpreter::java_lang_math_sin : |
136 case Interpreter::java_lang_math_sin : |
144 __ trigfunc('s'); |
137 __ trigfunc('s'); |
145 break; |
138 break; |
146 case Interpreter::java_lang_math_cos : |
139 case Interpreter::java_lang_math_cos : |