Mercurial > hg > graal-jvmci-8
comparison src/share/vm/prims/jvmtiImpl.hpp @ 2019:09b4dd4f152b
7004582: Add GetThisObject() function to JVMTI 1.2
Summary: Add 'GetThisObject' function
Reviewed-by: never, coleenp
author | kamg |
---|---|
date | Thu, 09 Dec 2010 15:04:26 -0500 |
parents | c760f78e0a53 |
children | 7246a374a9f2 |
comparison
equal
deleted
inserted
replaced
2018:642e54d1850a | 2019:09b4dd4f152b |
---|---|
353 // setting of locals to the same java thread. This lock is needed | 353 // setting of locals to the same java thread. This lock is needed |
354 // to prevent compiledVFrames from trying to add deferred updates | 354 // to prevent compiledVFrames from trying to add deferred updates |
355 // to the thread simultaneously. | 355 // to the thread simultaneously. |
356 // | 356 // |
357 class VM_GetOrSetLocal : public VM_Operation { | 357 class VM_GetOrSetLocal : public VM_Operation { |
358 private: | 358 protected: |
359 JavaThread* _thread; | 359 JavaThread* _thread; |
360 JavaThread* _calling_thread; | 360 JavaThread* _calling_thread; |
361 jint _depth; | 361 jint _depth; |
362 jint _index; | 362 jint _index; |
363 BasicType _type; | 363 BasicType _type; |
364 jvalue _value; | 364 jvalue _value; |
365 javaVFrame* _jvf; | 365 javaVFrame* _jvf; |
366 bool _set; | 366 bool _set; |
367 | 367 |
368 // It is possible to get the receiver out of a non-static native wrapper | |
369 // frame. Use VM_GetReceiver to do this. | |
370 virtual bool getting_receiver() const { return false; } | |
371 | |
368 jvmtiError _result; | 372 jvmtiError _result; |
369 | 373 |
370 vframe* get_vframe(); | 374 vframe* get_vframe(); |
371 javaVFrame* get_java_vframe(); | 375 javaVFrame* get_java_vframe(); |
372 bool check_slot_type(javaVFrame* vf); | 376 bool check_slot_type(javaVFrame* vf); |
393 | 397 |
394 // Check that the klass is assignable to a type with the given signature. | 398 // Check that the klass is assignable to a type with the given signature. |
395 static bool is_assignable(const char* ty_sign, Klass* klass, Thread* thread); | 399 static bool is_assignable(const char* ty_sign, Klass* klass, Thread* thread); |
396 }; | 400 }; |
397 | 401 |
402 class VM_GetReceiver : public VM_GetOrSetLocal { | |
403 protected: | |
404 virtual bool getting_receiver() const { return true; } | |
405 | |
406 public: | |
407 VM_GetReceiver(JavaThread* thread, JavaThread* calling_thread, jint depth); | |
408 const char* name() const { return "get receiver"; } | |
409 }; | |
410 | |
398 | 411 |
399 /////////////////////////////////////////////////////////////// | 412 /////////////////////////////////////////////////////////////// |
400 // | 413 // |
401 // class JvmtiSuspendControl | 414 // class JvmtiSuspendControl |
402 // | 415 // |