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