src/cpu/x86/vm/methodHandles_x86.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File warning2 Sdiff src/cpu/x86/vm

src/cpu/x86/vm/methodHandles_x86.cpp

Print this page
rev 3821 : [mq]: unused


  23  */
  24 
  25 #include "precompiled.hpp"
  26 #include "interpreter/interpreter.hpp"
  27 #include "interpreter/interpreterRuntime.hpp"
  28 #include "memory/allocation.inline.hpp"
  29 #include "prims/methodHandles.hpp"
  30 
  31 #define __ _masm->
  32 
  33 #ifdef PRODUCT
  34 #define BLOCK_COMMENT(str) /* nothing */
  35 #define STOP(error) stop(error)
  36 #else
  37 #define BLOCK_COMMENT(str) __ block_comment(str)
  38 #define STOP(error) block_comment(error); __ stop(error)
  39 #endif
  40 
  41 #define BIND(label) bind(label); BLOCK_COMMENT(#label ":")
  42 
  43 // Workaround for C++ overloading nastiness on '0' for RegisterOrConstant.
  44 static RegisterOrConstant constant(int value) {
  45   return RegisterOrConstant(value);
  46 }
  47 
  48 void MethodHandles::load_klass_from_Class(MacroAssembler* _masm, Register klass_reg) {
  49   if (VerifyMethodHandles)
  50     verify_klass(_masm, klass_reg, SystemDictionary::WK_KLASS_ENUM_NAME(java_lang_Class),
  51                  "MH argument is a Class");
  52   __ movptr(klass_reg, Address(klass_reg, java_lang_Class::klass_offset_in_bytes()));
  53 }
  54 
  55 #ifdef ASSERT
  56 static int check_nonzero(const char* xname, int x) {
  57   assert(x != 0, err_msg("%s should be nonzero", xname));
  58   return x;
  59 }
  60 #define NONZERO(x) check_nonzero(#x, x)
  61 #else //ASSERT
  62 #define NONZERO(x) (x)
  63 #endif //ASSERT
  64 
  65 #ifdef ASSERT
  66 void MethodHandles::verify_klass(MacroAssembler* _masm,
  67                                  Register obj, SystemDictionary::WKID klass_id,




  23  */
  24 
  25 #include "precompiled.hpp"
  26 #include "interpreter/interpreter.hpp"
  27 #include "interpreter/interpreterRuntime.hpp"
  28 #include "memory/allocation.inline.hpp"
  29 #include "prims/methodHandles.hpp"
  30 
  31 #define __ _masm->
  32 
  33 #ifdef PRODUCT
  34 #define BLOCK_COMMENT(str) /* nothing */
  35 #define STOP(error) stop(error)
  36 #else
  37 #define BLOCK_COMMENT(str) __ block_comment(str)
  38 #define STOP(error) block_comment(error); __ stop(error)
  39 #endif
  40 
  41 #define BIND(label) bind(label); BLOCK_COMMENT(#label ":")
  42 





  43 void MethodHandles::load_klass_from_Class(MacroAssembler* _masm, Register klass_reg) {
  44   if (VerifyMethodHandles)
  45     verify_klass(_masm, klass_reg, SystemDictionary::WK_KLASS_ENUM_NAME(java_lang_Class),
  46                  "MH argument is a Class");
  47   __ movptr(klass_reg, Address(klass_reg, java_lang_Class::klass_offset_in_bytes()));
  48 }
  49 
  50 #ifdef ASSERT
  51 static int check_nonzero(const char* xname, int x) {
  52   assert(x != 0, err_msg("%s should be nonzero", xname));
  53   return x;
  54 }
  55 #define NONZERO(x) check_nonzero(#x, x)
  56 #else //ASSERT
  57 #define NONZERO(x) (x)
  58 #endif //ASSERT
  59 
  60 #ifdef ASSERT
  61 void MethodHandles::verify_klass(MacroAssembler* _masm,
  62                                  Register obj, SystemDictionary::WKID klass_id,


src/cpu/x86/vm/methodHandles_x86.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File