comparison src/cpu/x86/vm/assembler_x86.cpp @ 3854:1af104d6cf99

7079329: Adjust allocation prefetching for T4 Summary: on T4 2 BIS instructions should be issued to prefetch 64 bytes Reviewed-by: iveresov, phh, twisti
author kvn
date Tue, 16 Aug 2011 16:59:46 -0700
parents 95134e034042
children 381bf869f784
comparison
equal deleted inserted replaced
3853:11211f7cb5a0 3854:1af104d6cf99
2313 emit_byte(0x18); 2313 emit_byte(0x18);
2314 emit_operand(rax, src); // 0, src 2314 emit_operand(rax, src); // 0, src
2315 } 2315 }
2316 2316
2317 void Assembler::prefetchr(Address src) { 2317 void Assembler::prefetchr(Address src) {
2318 NOT_LP64(assert(VM_Version::supports_3dnow_prefetch(), "must support")); 2318 assert(VM_Version::supports_3dnow_prefetch(), "must support");
2319 InstructionMark im(this); 2319 InstructionMark im(this);
2320 prefetch_prefix(src); 2320 prefetch_prefix(src);
2321 emit_byte(0x0D); 2321 emit_byte(0x0D);
2322 emit_operand(rax, src); // 0, src 2322 emit_operand(rax, src); // 0, src
2323 } 2323 }
2345 emit_byte(0x18); 2345 emit_byte(0x18);
2346 emit_operand(rbx, src); // 3, src 2346 emit_operand(rbx, src); // 3, src
2347 } 2347 }
2348 2348
2349 void Assembler::prefetchw(Address src) { 2349 void Assembler::prefetchw(Address src) {
2350 NOT_LP64(assert(VM_Version::supports_3dnow_prefetch(), "must support")); 2350 assert(VM_Version::supports_3dnow_prefetch(), "must support");
2351 InstructionMark im(this); 2351 InstructionMark im(this);
2352 prefetch_prefix(src); 2352 prefetch_prefix(src);
2353 emit_byte(0x0D); 2353 emit_byte(0x0D);
2354 emit_operand(rcx, src); // 1, src 2354 emit_operand(rcx, src); // 1, src
2355 } 2355 }