Mercurial > hg > truffle
comparison src/cpu/x86/vm/interpreter_x86_32.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 | e5b0439ef4ae |
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. |
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 : |