aboutsummaryrefslogtreecommitdiff
path: root/libjava/gnu/java/awt/java2d/ScanlineConverter.h
diff options
context:
space:
mode:
authorJulian Waters <tanksherman27@gmail.com>2025-05-02 09:59:13 +0000
committerJonathan Yong <10walls@gmail.com>2025-05-06 08:08:41 +0000
commit0aea633e146b75016eb0cf1c0bf67050d32bf8b6 (patch)
tree619b416198b175ff1a472d3c0a661101afd89cb4 /libjava/gnu/java/awt/java2d/ScanlineConverter.h
parentc3979346f963adfdc6c860a43103a0768863cbcf (diff)
downloadgcc-0aea633e146b75016eb0cf1c0bf67050d32bf8b6.zip
gcc-0aea633e146b75016eb0cf1c0bf67050d32bf8b6.tar.gz
gcc-0aea633e146b75016eb0cf1c0bf67050d32bf8b6.tar.bz2
Implement Windows TLS
This patch implements native Thread Local Storage access on Windows, as motivated by PR80881. Currently, Thread Local Storage accesses on Windows relies on emulation, which is detrimental to performance in certain applications, notably the Python Interpreter and the gcc port of the Java Virtual Machine. This patch was heavily inspired by Daniel Green's original work on native Windows Thread Local Storage from over a decade ago, which can be found at https://github.com/venix1/MinGW-GDC/blob/master/patches/mingw-tls-gcc-4.8.patch as a reference. Co-authored-by: Eric Botcazou <botcazou@adacore.com> Co-authored-by: Uroš Bizjak <ubizjak@gmail.com> Co-authored-by: Liu Hao <lh_mouse@126.com> Signed-off-by: Julian Waters <tanksherman27@gmail.com> Signed-off-by: Jonathan Yong <10walls@gmail.com> gcc/ChangeLog: * config/i386/i386.cc (ix86_legitimate_constant_p): Handle new UNSPEC. (legitimate_pic_operand_p): Handle new UNSPEC. (legitimate_pic_address_disp_p): Handle new UNSPEC. (ix86_legitimate_address_p): Handle new UNSPEC. (ix86_tls_index_symbol): New symbol for _tls_index. (ix86_tls_index): Handle creation of _tls_index symbol. (legitimize_tls_address): Create thread local access sequence. (output_pic_addr_const): Handle new UNSPEC. (i386_output_dwarf_dtprel): Handle new UNSPEC. (i386_asm_output_addr_const_extra): Handle new UNSPEC. * config/i386/i386.h (TARGET_WIN32_TLS): Define. * config/i386/i386.md: New UNSPEC. * config/i386/predicates.md: Handle new UNSPEC. * config/mingw/mingw32.h (TARGET_WIN32_TLS): Define. (TARGET_ASM_SELECT_SECTION): Define. (DEFAULT_TLS_SEG_REG): Define. * config/mingw/winnt.cc (mingw_pe_select_section): Select proper TLS section. (mingw_pe_unique_section): Handle TLS section. * config/mingw/winnt.h (mingw_pe_select_section): Declare. * configure: Regenerate. * configure.ac: New check for broken linker thread local support
Diffstat (limited to 'libjava/gnu/java/awt/java2d/ScanlineConverter.h')
0 files changed, 0 insertions, 0 deletions