src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/spi/ForeignCallLinkage.java
equal
deleted
inserted
replaced
1 /* |
1 /* |
2 * Copyright (c) 2009, 2018, Oracle and/or its affiliates. All rights reserved. |
2 * Copyright (c) 2009, 2019, Oracle and/or its affiliates. All rights reserved. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 * |
4 * |
5 * This code is free software; you can redistribute it and/or modify it |
5 * This code is free software; you can redistribute it and/or modify it |
6 * under the terms of the GNU General Public License version 2 only, as |
6 * under the terms of the GNU General Public License version 2 only, as |
7 * published by the Free Software Foundation. |
7 * published by the Free Software Foundation. |
71 * Determines if debug info needs to be associated with this call. Debug info is required if the |
71 * Determines if debug info needs to be associated with this call. Debug info is required if the |
72 * function can raise an exception, try to lock, trigger GC or do anything else that requires |
72 * function can raise an exception, try to lock, trigger GC or do anything else that requires |
73 * the VM to be able to inspect the thread's execution state. |
73 * the VM to be able to inspect the thread's execution state. |
74 */ |
74 */ |
75 boolean needsDebugInfo(); |
75 boolean needsDebugInfo(); |
|
76 |
|
77 /** |
|
78 * Returns true if further cleanup on the float registers is needed after performing the foreign |
|
79 * call. This is critical on AMD64 as there is a performance penalty switching between legacy |
|
80 * SSE and AVX instruction while the upper halves of the xmm registers are not zero. |
|
81 */ |
|
82 default boolean needsClearUpperVectorRegisters() { |
|
83 return false; |
|
84 } |
76 } |
85 } |