Mercurial > hg > graal-compiler
diff src/os_cpu/windows_x86/vm/windows_x86_64.ad @ 8873:e961c11b85fe
8011102: Clear AVX registers after return from JNI call
Summary: Execute vzeroupper instruction after JNI call and on exits in jit compiled code which use 256bit vectors.
Reviewed-by: roland
author | kvn |
---|---|
date | Wed, 03 Apr 2013 11:12:57 -0700 |
parents | 9b8ce46870df |
children |
line wrap: on
line diff
--- a/src/os_cpu/windows_x86/vm/windows_x86_64.ad Tue Apr 02 09:30:07 2013 +0200 +++ b/src/os_cpu/windows_x86/vm/windows_x86_64.ad Wed Apr 03 11:12:57 2013 -0700 @@ -53,30 +53,11 @@ // adding a syntax that specifies the sizes of fields in an order, // so that the adlc can build the emit functions automagically - enc_class Java_To_Runtime (method meth) %{ // CALL Java_To_Runtime - // No relocation needed +%} + - // movq r10, <meth> - emit_opcode(cbuf, Assembler::REX_WB); - emit_opcode(cbuf, 0xB8 | (R10_enc - 8)); - emit_d64(cbuf, (int64_t) $meth$$method); +// Platform dependent source - // call (r10) - emit_opcode(cbuf, Assembler::REX_B); - emit_opcode(cbuf, 0xFF); - emit_opcode(cbuf, 0xD0 | (R10_enc - 8)); - %} +source %{ %} - -// -// Platform dependent source -// -source %{ - -int MachCallRuntimeNode::ret_addr_offset() -{ - return 13; // movq r10,#addr; callq (r10) -} - -%}