comparison src/cpu/x86/vm/assembler_x86.hpp @ 2455:479b4b4b6950

6777083: assert(target != __null,"must not be null") Reviewed-by: iveresov, kvn
author never
date Tue, 05 Apr 2011 00:31:09 -0700
parents 09f96c3ff1ad
children d86923d96dca
comparison
equal deleted inserted replaced
2452:fb37e3eabfd0 2455:479b4b4b6950
383 OopAddress(address target) : AddressLiteral(target, relocInfo::oop_type){} 383 OopAddress(address target) : AddressLiteral(target, relocInfo::oop_type){}
384 384
385 }; 385 };
386 386
387 class ExternalAddress: public AddressLiteral { 387 class ExternalAddress: public AddressLiteral {
388 388 private:
389 public: 389 static relocInfo::relocType reloc_for_target(address target) {
390 390 // Sometimes ExternalAddress is used for values which aren't
391 ExternalAddress(address target) : AddressLiteral(target, relocInfo::external_word_type){} 391 // exactly addresses, like the card table base.
392 // external_word_type can't be used for values in the first page
393 // so just skip the reloc in that case.
394 return external_word_Relocation::can_be_relocated(target) ? relocInfo::external_word_type : relocInfo::none;
395 }
396
397 public:
398
399 ExternalAddress(address target) : AddressLiteral(target, reloc_for_target(target)) {}
392 400
393 }; 401 };
394 402
395 class InternalAddress: public AddressLiteral { 403 class InternalAddress: public AddressLiteral {
396 404