From 56dc6ecb70e6fc76d32d6a7194acb273b76bfe0e Mon Sep 17 00:00:00 2001 From: David Guillen Fandos Date: Mon, 8 Mar 2021 18:44:03 +0100 Subject: Remove libco This removes libco and all the usages of it (+pthreads). Rewired all dynarecs and interpreter to return after every frame so that libretro can process events. This required to make dynarec re-entrant. Dynarecs were updated to check for new frame on every update (IRQ, cycle exhaustion, I/O write, etc). The performance impact of doing so should be minimal (and definitely outweight the libco gains). While at it, fixed small issues to get a bit more perf: arm dynarec was not idling correctly, mips was using stack when not needed, etc. Tested on PSP (mips), OGA (armv7), Linux (x86 and interpreter). Not tested on Android though. --- Makefile.common | 6 ------ 1 file changed, 6 deletions(-) (limited to 'Makefile.common') diff --git a/Makefile.common b/Makefile.common index ea75b78..7e70627 100644 --- a/Makefile.common +++ b/Makefile.common @@ -15,12 +15,6 @@ SOURCES_C := $(CORE_DIR)/main.c \ $(CORE_DIR)/libretro.c \ $(CORE_DIR)/gba_cc_lut.c -ifeq ($(USE_LIBCO), 1) -SOURCES_C += $(CORE_DIR)/libco/libco.c -else -SOURCES_C += $(CORE_DIR)/retro_emu_thread.c -endif - ifeq ($(HAVE_DYNAREC), 1) SOURCES_C += $(CORE_DIR)/cpu_threaded.c endif -- cgit v1.2.3