equal
deleted
inserted
replaced
362 class PatchingStub: public CodeStub { |
362 class PatchingStub: public CodeStub { |
363 public: |
363 public: |
364 enum PatchID { |
364 enum PatchID { |
365 access_field_id, |
365 access_field_id, |
366 load_klass_id, |
366 load_klass_id, |
367 load_mirror_id |
367 load_mirror_id, |
|
368 load_appendix_id |
368 }; |
369 }; |
369 enum constants { |
370 enum constants { |
370 patch_info_size = 3 |
371 patch_info_size = 3 |
371 }; |
372 }; |
372 private: |
373 private: |
415 case lir_patch_normal: field_offset = 0; break; |
416 case lir_patch_normal: field_offset = 0; break; |
416 default: ShouldNotReachHere(); |
417 default: ShouldNotReachHere(); |
417 } |
418 } |
418 NativeMovRegMem* n_move = nativeMovRegMem_at(pc_start()); |
419 NativeMovRegMem* n_move = nativeMovRegMem_at(pc_start()); |
419 n_move->set_offset(field_offset); |
420 n_move->set_offset(field_offset); |
420 } else if (_id == load_klass_id || _id == load_mirror_id) { |
421 } else if (_id == load_klass_id || _id == load_mirror_id || _id == load_appendix_id) { |
421 assert(_obj != noreg, "must have register object for load_klass/load_mirror"); |
422 assert(_obj != noreg, "must have register object for load_klass/load_mirror"); |
422 #ifdef ASSERT |
423 #ifdef ASSERT |
423 // verify that we're pointing at a NativeMovConstReg |
424 // verify that we're pointing at a NativeMovConstReg |
424 nativeMovConstReg_at(pc_start()); |
425 nativeMovConstReg_at(pc_start()); |
425 #endif |
426 #endif |