Path: blob/master/libmupen64plus/mupen64plus-core/src/r4300/x86/regcache.h
2 views
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *1* Mupen64plus - regcache.h *2* Mupen64Plus homepage: http://code.google.com/p/mupen64plus/ *3* Copyright (C) 2002 Hacktarux *4* *5* This program is free software; you can redistribute it and/or modify *6* it under the terms of the GNU General Public License as published by *7* the Free Software Foundation; either version 2 of the License, or *8* (at your option) any later version. *9* *10* This program is distributed in the hope that it will be useful, *11* but WITHOUT ANY WARRANTY; without even the implied warranty of *12* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *13* GNU General Public License for more details. *14* *15* You should have received a copy of the GNU General Public License *16* along with this program; if not, write to the *17* Free Software Foundation, Inc., *18* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *19* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */2021#ifndef REGCACHE_H22#define REGCACHE_H2324#include "r4300/recomp.h"2526void init_cache(precomp_instr* start);27void free_all_registers(void);28void free_register(int reg);29int allocate_register(unsigned int *addr);30int allocate_64_register1(unsigned int *addr);31int allocate_64_register2(unsigned int *addr);32int is64(unsigned int *addr);33void build_wrappers(precomp_instr*, int, int, precomp_block*);34int lru_register(void);35int allocate_register_w(unsigned int *addr);36int allocate_64_register1_w(unsigned int *addr);37int allocate_64_register2_w(unsigned int *addr);38void set_register_state(int reg, unsigned int *addr, int dirty);39void set_64_register_state(int reg1, int reg2, unsigned int *addr, int dirty);40void allocate_register_manually(int reg, unsigned int *addr);41void allocate_register_manually_w(int reg, unsigned int *addr, int load);42void force_32(int reg);43int lru_register_exc1(int exc1);44void simplify_access(void);4546#endif // REGCACHE_H47484950