Author: jingham Date: Tue Nov 13 10:18:32 2018 New Revision: 346775 URL: http://llvm.org/viewvc/llvm-project?rev=346775&view=rev Log: Since ABI's now hold a process WP, they should be handed out one per process rather than keeping a single global instance.
Differential Revision: https://reviews.llvm.org/D54460 Modified: lldb/trunk/source/Plugins/ABI/MacOSX-arm/ABIMacOSX_arm.cpp lldb/trunk/source/Plugins/ABI/MacOSX-arm64/ABIMacOSX_arm64.cpp lldb/trunk/source/Plugins/ABI/MacOSX-i386/ABIMacOSX_i386.cpp lldb/trunk/source/Plugins/ABI/SysV-arm/ABISysV_arm.cpp lldb/trunk/source/Plugins/ABI/SysV-arm64/ABISysV_arm64.cpp lldb/trunk/source/Plugins/ABI/SysV-hexagon/ABISysV_hexagon.cpp lldb/trunk/source/Plugins/ABI/SysV-i386/ABISysV_i386.cpp lldb/trunk/source/Plugins/ABI/SysV-mips/ABISysV_mips.cpp lldb/trunk/source/Plugins/ABI/SysV-mips64/ABISysV_mips64.cpp lldb/trunk/source/Plugins/ABI/SysV-ppc/ABISysV_ppc.cpp lldb/trunk/source/Plugins/ABI/SysV-s390x/ABISysV_s390x.cpp lldb/trunk/source/Plugins/ABI/SysV-x86_64/ABISysV_x86_64.cpp Modified: lldb/trunk/source/Plugins/ABI/MacOSX-arm/ABIMacOSX_arm.cpp URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/ABI/MacOSX-arm/ABIMacOSX_arm.cpp?rev=346775&r1=346774&r2=346775&view=diff ============================================================================== --- lldb/trunk/source/Plugins/ABI/MacOSX-arm/ABIMacOSX_arm.cpp (original) +++ lldb/trunk/source/Plugins/ABI/MacOSX-arm/ABIMacOSX_arm.cpp Tue Nov 13 10:18:32 2018 @@ -1323,16 +1323,13 @@ size_t ABIMacOSX_arm::GetRedZoneSize() c ABISP ABIMacOSX_arm::CreateInstance(ProcessSP process_sp, const ArchSpec &arch) { - static ABISP g_abi_sp; const llvm::Triple::ArchType arch_type = arch.GetTriple().getArch(); const llvm::Triple::VendorType vendor_type = arch.GetTriple().getVendor(); if (vendor_type == llvm::Triple::Apple) { if ((arch_type == llvm::Triple::arm) || (arch_type == llvm::Triple::thumb)) { - if (!g_abi_sp) - g_abi_sp.reset(new ABIMacOSX_arm(process_sp)); - return g_abi_sp; + return ABISP(new ABIMacOSX_arm(process_sp)); } } Modified: lldb/trunk/source/Plugins/ABI/MacOSX-arm64/ABIMacOSX_arm64.cpp URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/ABI/MacOSX-arm64/ABIMacOSX_arm64.cpp?rev=346775&r1=346774&r2=346775&view=diff ============================================================================== --- lldb/trunk/source/Plugins/ABI/MacOSX-arm64/ABIMacOSX_arm64.cpp (original) +++ lldb/trunk/source/Plugins/ABI/MacOSX-arm64/ABIMacOSX_arm64.cpp Tue Nov 13 10:18:32 2018 @@ -1664,15 +1664,12 @@ size_t ABIMacOSX_arm64::GetRedZoneSize() ABISP ABIMacOSX_arm64::CreateInstance(ProcessSP process_sp, const ArchSpec &arch) { - static ABISP g_abi_sp; const llvm::Triple::ArchType arch_type = arch.GetTriple().getArch(); const llvm::Triple::VendorType vendor_type = arch.GetTriple().getVendor(); if (vendor_type == llvm::Triple::Apple) { if (arch_type == llvm::Triple::aarch64) { - if (!g_abi_sp) - g_abi_sp.reset(new ABIMacOSX_arm64(process_sp)); - return g_abi_sp; + return ABISP(new ABIMacOSX_arm64(process_sp)); } } Modified: lldb/trunk/source/Plugins/ABI/MacOSX-i386/ABIMacOSX_i386.cpp URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/ABI/MacOSX-i386/ABIMacOSX_i386.cpp?rev=346775&r1=346774&r2=346775&view=diff ============================================================================== --- lldb/trunk/source/Plugins/ABI/MacOSX-i386/ABIMacOSX_i386.cpp (original) +++ lldb/trunk/source/Plugins/ABI/MacOSX-i386/ABIMacOSX_i386.cpp Tue Nov 13 10:18:32 2018 @@ -710,13 +710,10 @@ size_t ABIMacOSX_i386::GetRedZoneSize() ABISP ABIMacOSX_i386::CreateInstance(lldb::ProcessSP process_sp, const ArchSpec &arch) { - static ABISP g_abi_sp; if ((arch.GetTriple().getArch() == llvm::Triple::x86) && (arch.GetTriple().isMacOSX() || arch.GetTriple().isiOS() || arch.GetTriple().isWatchOS())) { - if (!g_abi_sp) - g_abi_sp.reset(new ABIMacOSX_i386(process_sp)); - return g_abi_sp; + return ABISP(new ABIMacOSX_i386(process_sp)); } return ABISP(); } Modified: lldb/trunk/source/Plugins/ABI/SysV-arm/ABISysV_arm.cpp URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/ABI/SysV-arm/ABISysV_arm.cpp?rev=346775&r1=346774&r2=346775&view=diff ============================================================================== --- lldb/trunk/source/Plugins/ABI/SysV-arm/ABISysV_arm.cpp (original) +++ lldb/trunk/source/Plugins/ABI/SysV-arm/ABISysV_arm.cpp Tue Nov 13 10:18:32 2018 @@ -1324,16 +1324,13 @@ size_t ABISysV_arm::GetRedZoneSize() con ABISP ABISysV_arm::CreateInstance(lldb::ProcessSP process_sp, const ArchSpec &arch) { - static ABISP g_abi_sp; const llvm::Triple::ArchType arch_type = arch.GetTriple().getArch(); const llvm::Triple::VendorType vendor_type = arch.GetTriple().getVendor(); if (vendor_type != llvm::Triple::Apple) { if ((arch_type == llvm::Triple::arm) || (arch_type == llvm::Triple::thumb)) { - if (!g_abi_sp) - g_abi_sp.reset(new ABISysV_arm(process_sp)); - return g_abi_sp; + return ABISP(new ABISysV_arm(process_sp)); } } Modified: lldb/trunk/source/Plugins/ABI/SysV-arm64/ABISysV_arm64.cpp URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/ABI/SysV-arm64/ABISysV_arm64.cpp?rev=346775&r1=346774&r2=346775&view=diff ============================================================================== --- lldb/trunk/source/Plugins/ABI/SysV-arm64/ABISysV_arm64.cpp (original) +++ lldb/trunk/source/Plugins/ABI/SysV-arm64/ABISysV_arm64.cpp Tue Nov 13 10:18:32 2018 @@ -1667,15 +1667,12 @@ size_t ABISysV_arm64::GetRedZoneSize() c ABISP ABISysV_arm64::CreateInstance(lldb::ProcessSP process_sp, const ArchSpec &arch) { - static ABISP g_abi_sp; const llvm::Triple::ArchType arch_type = arch.GetTriple().getArch(); const llvm::Triple::VendorType vendor_type = arch.GetTriple().getVendor(); if (vendor_type != llvm::Triple::Apple) { if (arch_type == llvm::Triple::aarch64) { - if (!g_abi_sp) - g_abi_sp.reset(new ABISysV_arm64(process_sp)); - return g_abi_sp; + return ABISP(new ABISysV_arm64(process_sp)); } } Modified: lldb/trunk/source/Plugins/ABI/SysV-hexagon/ABISysV_hexagon.cpp URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/ABI/SysV-hexagon/ABISysV_hexagon.cpp?rev=346775&r1=346774&r2=346775&view=diff ============================================================================== --- lldb/trunk/source/Plugins/ABI/SysV-hexagon/ABISysV_hexagon.cpp (original) +++ lldb/trunk/source/Plugins/ABI/SysV-hexagon/ABISysV_hexagon.cpp Tue Nov 13 10:18:32 2018 @@ -1016,11 +1016,8 @@ size_t ABISysV_hexagon::GetRedZoneSize() ABISP ABISysV_hexagon::CreateInstance(lldb::ProcessSP process_sp, const ArchSpec &arch) { - static ABISP g_abi_sp; if (arch.GetTriple().getArch() == llvm::Triple::hexagon) { - if (!g_abi_sp) - g_abi_sp.reset(new ABISysV_hexagon(process_sp)); - return g_abi_sp; + return ABISP(new ABISysV_hexagon(process_sp)); } return ABISP(); } Modified: lldb/trunk/source/Plugins/ABI/SysV-i386/ABISysV_i386.cpp URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/ABI/SysV-i386/ABISysV_i386.cpp?rev=346775&r1=346774&r2=346775&view=diff ============================================================================== --- lldb/trunk/source/Plugins/ABI/SysV-i386/ABISysV_i386.cpp (original) +++ lldb/trunk/source/Plugins/ABI/SysV-i386/ABISysV_i386.cpp Tue Nov 13 10:18:32 2018 @@ -199,12 +199,9 @@ ABISysV_i386::GetRegisterInfoArray(uint3 ABISP ABISysV_i386::CreateInstance(lldb::ProcessSP process_sp, const ArchSpec &arch) { - static ABISP g_abi_sp; if (arch.GetTriple().getVendor() != llvm::Triple::Apple) { if (arch.GetTriple().getArch() == llvm::Triple::x86) { - if (!g_abi_sp) - g_abi_sp.reset(new ABISysV_i386(process_sp)); - return g_abi_sp; + return ABISP(new ABISysV_i386(process_sp)); } } return ABISP(); Modified: lldb/trunk/source/Plugins/ABI/SysV-mips/ABISysV_mips.cpp URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/ABI/SysV-mips/ABISysV_mips.cpp?rev=346775&r1=346774&r2=346775&view=diff ============================================================================== --- lldb/trunk/source/Plugins/ABI/SysV-mips/ABISysV_mips.cpp (original) +++ lldb/trunk/source/Plugins/ABI/SysV-mips/ABISysV_mips.cpp Tue Nov 13 10:18:32 2018 @@ -556,13 +556,10 @@ size_t ABISysV_mips::GetRedZoneSize() co ABISP ABISysV_mips::CreateInstance(lldb::ProcessSP process_sp, const ArchSpec &arch) { - static ABISP g_abi_sp; const llvm::Triple::ArchType arch_type = arch.GetTriple().getArch(); if ((arch_type == llvm::Triple::mips) || (arch_type == llvm::Triple::mipsel)) { - if (!g_abi_sp) - g_abi_sp.reset(new ABISysV_mips(process_sp)); - return g_abi_sp; + return ABISP(new ABISysV_mips(process_sp)); } return ABISP(); } Modified: lldb/trunk/source/Plugins/ABI/SysV-mips64/ABISysV_mips64.cpp URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/ABI/SysV-mips64/ABISysV_mips64.cpp?rev=346775&r1=346774&r2=346775&view=diff ============================================================================== --- lldb/trunk/source/Plugins/ABI/SysV-mips64/ABISysV_mips64.cpp (original) +++ lldb/trunk/source/Plugins/ABI/SysV-mips64/ABISysV_mips64.cpp Tue Nov 13 10:18:32 2018 @@ -556,13 +556,10 @@ size_t ABISysV_mips64::GetRedZoneSize() ABISP ABISysV_mips64::CreateInstance(lldb::ProcessSP process_sp, const ArchSpec &arch) { - static ABISP g_abi_sp; const llvm::Triple::ArchType arch_type = arch.GetTriple().getArch(); if ((arch_type == llvm::Triple::mips64) || (arch_type == llvm::Triple::mips64el)) { - if (!g_abi_sp) - g_abi_sp.reset(new ABISysV_mips64(process_sp)); - return g_abi_sp; + return ABISP(new ABISysV_mips64(process_sp)); } return ABISP(); } Modified: lldb/trunk/source/Plugins/ABI/SysV-ppc/ABISysV_ppc.cpp URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/ABI/SysV-ppc/ABISysV_ppc.cpp?rev=346775&r1=346774&r2=346775&view=diff ============================================================================== --- lldb/trunk/source/Plugins/ABI/SysV-ppc/ABISysV_ppc.cpp (original) +++ lldb/trunk/source/Plugins/ABI/SysV-ppc/ABISysV_ppc.cpp Tue Nov 13 10:18:32 2018 @@ -220,11 +220,8 @@ size_t ABISysV_ppc::GetRedZoneSize() con ABISP ABISysV_ppc::CreateInstance(lldb::ProcessSP process_sp, const ArchSpec &arch) { - static ABISP g_abi_sp; if (arch.GetTriple().getArch() == llvm::Triple::ppc) { - if (!g_abi_sp) - g_abi_sp.reset(new ABISysV_ppc(process_sp)); - return g_abi_sp; + return ABISP(new ABISysV_ppc(process_sp)); } return ABISP(); } Modified: lldb/trunk/source/Plugins/ABI/SysV-s390x/ABISysV_s390x.cpp URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/ABI/SysV-s390x/ABISysV_s390x.cpp?rev=346775&r1=346774&r2=346775&view=diff ============================================================================== --- lldb/trunk/source/Plugins/ABI/SysV-s390x/ABISysV_s390x.cpp (original) +++ lldb/trunk/source/Plugins/ABI/SysV-s390x/ABISysV_s390x.cpp Tue Nov 13 10:18:32 2018 @@ -202,11 +202,8 @@ size_t ABISysV_s390x::GetRedZoneSize() c ABISP ABISysV_s390x::CreateInstance(lldb::ProcessSP process_sp, const ArchSpec &arch) { - static ABISP g_abi_sp; if (arch.GetTriple().getArch() == llvm::Triple::systemz) { - if (!g_abi_sp) - g_abi_sp.reset(new ABISysV_s390x(process_sp)); - return g_abi_sp; + return ABISP(new ABISysV_s390x(process_sp)); } return ABISP(); } Modified: lldb/trunk/source/Plugins/ABI/SysV-x86_64/ABISysV_x86_64.cpp URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/ABI/SysV-x86_64/ABISysV_x86_64.cpp?rev=346775&r1=346774&r2=346775&view=diff ============================================================================== --- lldb/trunk/source/Plugins/ABI/SysV-x86_64/ABISysV_x86_64.cpp (original) +++ lldb/trunk/source/Plugins/ABI/SysV-x86_64/ABISysV_x86_64.cpp Tue Nov 13 10:18:32 2018 @@ -1091,11 +1091,8 @@ size_t ABISysV_x86_64::GetRedZoneSize() ABISP ABISysV_x86_64::CreateInstance(lldb::ProcessSP process_sp, const ArchSpec &arch) { - static ABISP g_abi_sp; if (arch.GetTriple().getArch() == llvm::Triple::x86_64) { - if (!g_abi_sp) - g_abi_sp.reset(new ABISysV_x86_64(process_sp)); - return g_abi_sp; + return ABISP(new ABISysV_x86_64(process_sp)); } return ABISP(); } _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits