comparison src/share/vm/runtime/javaCalls.hpp @ 5747:120820e30baa

added basic high-level interpreter support to HotSpot
author Christian Haeubl <haeubl@ssw.jku.at>
date Tue, 03 Jul 2012 16:56:40 +0200
parents 897b7d18bebc
children e522a00b91aa
comparison
equal deleted inserted replaced
5746:17d2c3b72762 5747:120820e30baa
156 inline void push_long(jlong l) { _is_oop[_size] = false; _is_oop[_size + 1] = false; 156 inline void push_long(jlong l) { _is_oop[_size] = false; _is_oop[_size + 1] = false;
157 JNITypes::put_long(l, _value, _size); } 157 JNITypes::put_long(l, _value, _size); }
158 158
159 inline void push_float(float f) { _is_oop[_size] = false; 159 inline void push_float(float f) { _is_oop[_size] = false;
160 JNITypes::put_float(f, _value, _size); } 160 JNITypes::put_float(f, _value, _size); }
161
162 inline oop* get_raw_oop(int& pos) { return (oop*)JNITypes::get_obj(_value, pos); }
163 inline jint get_int(int& pos) { return JNITypes::get_int(_value, pos); }
164 inline jdouble get_double(int& pos) { return JNITypes::get_double(_value, pos); }
165 inline jlong get_long(int& pos) { return JNITypes::get_long(_value, pos); }
166 inline jfloat get_float(int& pos) { return JNITypes::get_float(_value, pos); }
161 167
162 // receiver 168 // receiver
163 Handle receiver() { 169 Handle receiver() {
164 assert(_size > 0, "must at least be one argument"); 170 assert(_size > 0, "must at least be one argument");
165 assert(_is_oop[0], "first argument must be an oop"); 171 assert(_is_oop[0], "first argument must be an oop");
189 // and makes sure that the last_Java_frame pointers are chained correctly. 195 // and makes sure that the last_Java_frame pointers are chained correctly.
190 // 196 //
191 197
192 class JavaCalls: AllStatic { 198 class JavaCalls: AllStatic {
193 static void call_helper(JavaValue* result, methodHandle* method, nmethod* nm, JavaCallArguments* args, TRAPS); 199 static void call_helper(JavaValue* result, methodHandle* method, nmethod* nm, JavaCallArguments* args, TRAPS);
194 public: 200 public:
195 // Optimized Constuctor call 201 // Optimized Constuctor call
196 static void call_default_constructor(JavaThread* thread, methodHandle method, Handle receiver, TRAPS); 202 static void call_default_constructor(JavaThread* thread, methodHandle method, Handle receiver, TRAPS);
197 203
198 // call_special 204 // call_special
199 // ------------ 205 // ------------