summaryrefslogtreecommitdiffstatshomepage
path: root/3rdparty/asmjit/src/asmjit/core/errorhandler.h
diff options
context:
space:
mode:
Diffstat (limited to '3rdparty/asmjit/src/asmjit/core/errorhandler.h')
-rw-r--r--3rdparty/asmjit/src/asmjit/core/errorhandler.h137
1 files changed, 49 insertions, 88 deletions
diff --git a/3rdparty/asmjit/src/asmjit/core/errorhandler.h b/3rdparty/asmjit/src/asmjit/core/errorhandler.h
index 2337cd8d841..a1a2dd2d5db 100644
--- a/3rdparty/asmjit/src/asmjit/core/errorhandler.h
+++ b/3rdparty/asmjit/src/asmjit/core/errorhandler.h
@@ -1,25 +1,7 @@
-// AsmJit - Machine code generation for C++
+// This file is part of AsmJit project <https://asmjit.com>
//
-// * Official AsmJit Home Page: https://asmjit.com
-// * Official Github Repository: https://github.com/asmjit/asmjit
-//
-// Copyright (c) 2008-2020 The AsmJit Authors
-//
-// This software is provided 'as-is', without any express or implied
-// warranty. In no event will the authors be held liable for any damages
-// arising from the use of this software.
-//
-// Permission is granted to anyone to use this software for any purpose,
-// including commercial applications, and to alter it and redistribute it
-// freely, subject to the following restrictions:
-//
-// 1. The origin of this software must not be misrepresented; you must not
-// claim that you wrote the original software. If you use this software
-// in a product, an acknowledgment in the product documentation would be
-// appreciated but is not required.
-// 2. Altered source versions must be plainly marked as such, and must not be
-// misrepresented as being the original software.
-// 3. This notice may not be removed or altered from any source distribution.
+// See asmjit.h or LICENSE.md for license and copyright information
+// SPDX-License-Identifier: Zlib
#ifndef ASMJIT_CORE_ERRORHANDLER_H_INCLUDED
#define ASMJIT_CORE_ERRORHANDLER_H_INCLUDED
@@ -31,44 +13,31 @@ ASMJIT_BEGIN_NAMESPACE
//! \addtogroup asmjit_error_handling
//! \{
-// ============================================================================
-// [Forward Declarations]
-// ============================================================================
-
class BaseEmitter;
-// ============================================================================
-// [asmjit::ErrorHandler]
-// ============================================================================
-
//! Error handler can be used to override the default behavior of error handling.
//!
-//! It's available to all classes that inherit `BaseEmitter`. Override
-//! \ref ErrorHandler::handleError() to implement your own error handler.
+//! It's available to all classes that inherit `BaseEmitter`. Override \ref ErrorHandler::handleError() to implement
+//! your own error handler.
//!
//! The following use-cases are supported:
//!
-//! - Record the error and continue code generation. This is the simplest
-//! approach that can be used to at least log possible errors.
-//! - Throw an exception. AsmJit doesn't use exceptions and is completely
-//! exception-safe, but it's perfectly legal to throw an exception from
-//! the error handler.
-//! - Use plain old C's `setjmp()` and `longjmp()`. Asmjit always puts Assembler,
-//! Builder and Compiler to a consistent state before calling \ref handleError(),
-//! so `longjmp()` can be used without issues to cancel the code-generation if
-//! an error occurred. This method can be used if exception handling in your
-//! project is turned off and you still want some comfort. In most cases it
-//! should be safe as AsmJit uses \ref Zone memory and the ownership of memory
-//! it allocates always ends with the instance that allocated it. If using this
-//! approach please never jump outside the life-time of \ref CodeHolder and
-//! \ref BaseEmitter.
-//!
-//! \ref ErrorHandler can be attached to \ref CodeHolder or \ref BaseEmitter,
-//! which has a priority. The example below uses error handler that just prints
-//! the error, but lets AsmJit continue:
+//! - Record the error and continue code generation. This is the simplest approach that can be used to at least log
+//! possible errors.
+//! - Throw an exception. AsmJit doesn't use exceptions and is completely exception-safe, but it's perfectly legal
+//! to throw an exception from the error handler.
+//! - Use plain old C's `setjmp()` and `longjmp()`. Asmjit always puts Assembler, Builder and Compiler to
+//! a consistent state before calling \ref handleError(), so `longjmp()` can be used without issues to cancel the
+//! code generation if an error occurred. This method can be used if exception handling in your project is turned
+//! off and you still want some comfort. In most cases it should be safe as AsmJit uses \ref Zone memory and the
+//! ownership of memory it allocates always ends with the instance that allocated it. If using this approach please
+//! never jump outside the life-time of \ref CodeHolder and \ref BaseEmitter.
+//!
+//! \ref ErrorHandler can be attached to \ref CodeHolder or \ref BaseEmitter, which has a priority. The example below
+//! uses error handler that just prints the error, but lets AsmJit continue:
//!
//! ```
-//! // Error Handling #1 - Logging and returing Error.
+//! // Error Handling #1 - Logging and returning Error.
//! #include <asmjit/x86.h>
//! #include <stdio.h>
//!
@@ -92,7 +61,7 @@ class BaseEmitter;
//! SimpleErrorHandler eh;
//!
//! CodeHolder code;
-//! code.init(rt.environment());
+//! code.init(rt.environment(), rt.cpuFeatures());
//! code.setErrorHandler(&eh);
//!
//! // Try to emit instruction that doesn't exist.
@@ -108,12 +77,10 @@ class BaseEmitter;
//! }
//! ```
//!
-//! If error happens during instruction emitting / encoding the assembler behaves
-//! transactionally - the output buffer won't advance if encoding failed, thus
-//! either a fully encoded instruction or nothing is emitted. The error handling
-//! shown above is useful, but it's still not the best way of dealing with errors
-//! in AsmJit. The following example shows how to use exception handling to handle
-//! errors in a more C++ way:
+//! If error happens during instruction emitting / encoding the assembler behaves transactionally - the output buffer
+//! won't advance if encoding failed, thus either a fully encoded instruction or nothing is emitted. The error handling
+//! shown above is useful, but it's still not the best way of dealing with errors in AsmJit. The following example
+//! shows how to use exception handling to handle errors in a more C++ way:
//!
//! ```
//! // Error Handling #2 - Throwing an exception.
@@ -150,7 +117,7 @@ class BaseEmitter;
//! ThrowableErrorHandler eh;
//!
//! CodeHolder code;
-//! code.init(rt.environment());
+//! code.init(rt.environment(), rt.cpuFeatures());
//! code.setErrorHandler(&eh);
//!
//! x86::Assembler a(&code);
@@ -168,13 +135,10 @@ class BaseEmitter;
//! }
//! ```
//!
-//! If C++ exceptions are not what you like or your project turns off them
-//! completely there is still a way of reducing the error handling to a minimum
-//! by using a standard setjmp/longjmp approach. AsmJit is exception-safe and
-//! cleans up everything before calling the ErrorHandler, so any approach is
-//! safe. You can simply jump from the error handler without causing any
-//! side-effects or memory leaks. The following example demonstrates how it
-//! could be done:
+//! If C++ exceptions are not what you like or your project turns off them completely there is still a way of reducing
+//! the error handling to a minimum by using a standard setjmp/longjmp approach. AsmJit is exception-safe and cleans
+//! up everything before calling the ErrorHandler, so any approach is safe. You can simply jump from the error handler
+//! without causing any side-effects or memory leaks. The following example demonstrates how it could be done:
//!
//! ```
//! // Error Handling #3 - Using setjmp/longjmp if exceptions are not allowed.
@@ -202,7 +166,7 @@ class BaseEmitter;
//! LongJmpErrorHandler eh;
//!
//! CodeHolder code;
-//! code.init(rt.rt.environment());
+//! code.init(rt.environment(), rt.cpuFeatures());
//! code.setErrorHandler(&eh);
//!
//! x86::Assembler a(&code);
@@ -223,40 +187,37 @@ class ASMJIT_VIRTAPI ErrorHandler {
public:
ASMJIT_BASE_CLASS(ErrorHandler)
- // --------------------------------------------------------------------------
- // [Construction / Destruction]
- // --------------------------------------------------------------------------
+ //! \name Construction & Destruction
+ //! \{
//! Creates a new `ErrorHandler` instance.
ASMJIT_API ErrorHandler() noexcept;
//! Destroys the `ErrorHandler` instance.
ASMJIT_API virtual ~ErrorHandler() noexcept;
- // --------------------------------------------------------------------------
- // [Handle Error]
- // --------------------------------------------------------------------------
+ //! \}
+
+ //! \name Interface
+ //! \{
//! Error handler (must be reimplemented).
//!
- //! Error handler is called after an error happened and before it's propagated
- //! to the caller. There are multiple ways how the error handler can be used:
+ //! Error handler is called after an error happened and before it's propagated to the caller. There are multiple
+ //! ways how the error handler can be used:
//!
- //! 1. User-based error handling without throwing exception or using C's
- //! `longjmp()`. This is for users that don't use exceptions and want
- //! customized error handling.
+ //! 1. User-based error handling without throwing exception or using C's`longjmp()`. This is for users that don't
+ //! use exceptions and want customized error handling.
//!
- //! 2. Throwing an exception. AsmJit doesn't use exceptions and is completely
- //! exception-safe, but you can throw exception from your error handler if
- //! this way is the preferred way of handling errors in your project.
+ //! 2. Throwing an exception. AsmJit doesn't use exceptions and is completely exception-safe, but you can throw
+ //! exception from your error handler if this way is the preferred way of handling errors in your project.
//!
- //! 3. Using plain old C's `setjmp()` and `longjmp()`. Asmjit always puts
- //! `BaseEmitter` to a consistent state before calling `handleError()`
- //! so `longjmp()` can be used without any issues to cancel the code
- //! generation if an error occurred. There is no difference between
- //! exceptions and `longjmp()` from AsmJit's perspective, however,
- //! never jump outside of `CodeHolder` and `BaseEmitter` scope as you
- //! would leak memory.
- virtual void handleError(Error err, const char* message, BaseEmitter* origin) = 0;
+ //! 3. Using plain old C's `setjmp()` and `longjmp()`. Asmjit always puts `BaseEmitter` to a consistent state before
+ //! calling `handleError()` so `longjmp()` can be used without any issues to cancel the code generation if an
+ //! error occurred. There is no difference between exceptions and `longjmp()` from AsmJit's perspective, however,
+ //! never jump outside of `CodeHolder` and `BaseEmitter` scope as you would leak memory.
+ ASMJIT_API virtual void handleError(Error err, const char* message, BaseEmitter* origin);
+
+ //! \}
};
//! \}
9511'>plainblame -rw-r--r--apollo.h21310logstatsplainblame -rw-r--r--apple2e.h368logstatsplainblame -rw-r--r--apple3.h5314logstatsplainblame -rw-r--r--appoooh.h2978logstatsplainblame -rw-r--r--aquarium.h2620logstatsplainblame -rw-r--r--aquarius.h2934logstatsplainblame -rw-r--r--arabian.h2373logstatsplainblame -rw-r--r--arcadecl.h1702logstatsplainblame -rw-r--r--arcadia.h3745logstatsplainblame -rw-r--r--archimds.h5284logstatsplainblame -rw-r--r--argus.h5066logstatsplainblame -rw-r--r--arkanoid.h3616logstatsplainblame -rw-r--r--armedf.h5676logstatsplainblame -rw-r--r--artmagic.h2985logstatsplainblame -rw-r--r--ashnojoe.h2573logstatsplainblame -rw-r--r--asterix.h2114logstatsplainblame -rw-r--r--asteroid.h2613logstatsplainblame -rw-r--r--astrocde.h8569logstatsplainblame -rw-r--r--astrof.h3853logstatsplainblame -rw-r--r--asuka.h3528logstatsplainblame -rw-r--r--atari400.h1687logstatsplainblame -rw-r--r--atarifb.h4256logstatsplainblame -rw-r--r--atarig1.h2648logstatsplainblame -rw-r--r--atarig42.h3078logstatsplainblame -rw-r--r--atarigt.h3975logstatsplainblame -rw-r--r--atarigx2.h2710logstatsplainblame -rw-r--r--atarist.h13163logstatsplainblame -rw-r--r--atarisy1.h4455logstatsplainblame -rw-r--r--atarisy2.h4363logstatsplainblame -rw-r--r--atetris.h2555logstatsplainblame -rw-r--r--atom.h4404logstatsplainblame -rw-r--r--aussiebyte.h4436logstatsplainblame -rw-r--r--avalnche.h1636logstatsplainblame -rw-r--r--avigo.h3691logstatsplainblame -rw-r--r--aztarac.h1817logstatsplainblame -rw-r--r--b2m.h2868logstatsplainblame -rw-r--r--badlands.h3373logstatsplainblame -rw-r--r--bagman.h3857logstatsplainblame -rw-r--r--balsente.h6561logstatsplainblame -rw-r--r--bankp.h1920logstatsplainblame -rw-r--r--baraduke.h2612logstatsplainblame -rw-r--r--batman.h1510logstatsplainblame -rw-r--r--battlane.h2044logstatsplainblame -rw-r--r--battlera.h1489logstatsplainblame -rw-r--r--battlex.h2004logstatsplainblame -rw-r--r--battlnts.h1690logstatsplainblame -rw-r--r--bbc.h13356logstatsplainblame -rw-r--r--bbusters.h3553logstatsplainblame -rw-r--r--beathead.h2740logstatsplainblame -rw-r--r--bebox.h4566logstatsplainblame -rw-r--r--bfm_ad5.h656logstatsplainblame -rw-r--r--bfm_sc4.h190337logstatsplainblame -rw-r--r--bfm_sc5.h1067logstatsplainblame -rw-r--r--bigevglf.h2895logstatsplainblame -rw-r--r--bigstrkb.h1711logstatsplainblame -rw-r--r--bishi.h2202logstatsplainblame -rw-r--r--bk.h1987logstatsplainblame -rw-r--r--bking.h3448logstatsplainblame -rw-r--r--bladestl.h2585logstatsplainblame -rw-r--r--blktiger.h3013logstatsplainblame -rw-r--r--blmbycar.h2557logstatsplainblame -rw-r--r--blockout.h1937logstatsplainblame -rw-r--r--bloodbro.h3064logstatsplainblame -rw-r--r--blstroid.h1777logstatsplainblame -rw-r--r--blueprnt.h2404logstatsplainblame -rw-r--r--bogeyman.h2325logstatsplainblame -rw-r--r--bombjack.h2213logstatsplainblame -rw-r--r--boogwing.h2327logstatsplainblame -rw-r--r--bosco.h1658logstatsplainblame -rw-r--r--bottom9.h2442logstatsplainblame -rw-r--r--brkthru.h2372logstatsplainblame -rw-r--r--bsktball.h2522logstatsplainblame -rw-r--r--btime.h6054logstatsplainblame -rw-r--r--btoads.h3828logstatsplainblame -rw-r--r--bublbobl.h5666logstatsplainblame -rw-r--r--buggychl.h3776logstatsplainblame -rw-r--r--bullet.h5353logstatsplainblame -rw-r--r--busicom.h1859logstatsplainblame -rw-r--r--bw12.h3896logstatsplainblame -rw-r--r--bw2.h2652logstatsplainblame -rw-r--r--bwidow.h1708logstatsplainblame -rw-r--r--bwing.h3064logstatsplainblame -rw-r--r--bzone.h2455logstatsplainblame -rw-r--r--c65.h57logstatsplainblame -rw-r--r--c80.h1500logstatsplainblame -rw-r--r--cabal.h3076logstatsplainblame -rw-r--r--calomega.h3146logstatsplainblame -rw-r--r--canyon.h2417logstatsplainblame -rw-r--r--capbowl.h2472logstatsplainblame -rw-r--r--carpolo.h6246logstatsplainblame -rw-r--r--cave.h11530logstatsplainblame -rw-r--r--cbasebal.h2278logstatsplainblame -rw-r--r--cbuster.h1982logstatsplainblame -rw-r--r--ccastles.h2941logstatsplainblame -rw-r--r--cchasm.h2442logstatsplainblame -rw-r--r--cclimber.h5874logstatsplainblame -rw-r--r--cdi.h3037logstatsplainblame -rw-r--r--centiped.h5506logstatsplainblame -rw-r--r--cgc7900.h3949logstatsplainblame -rw-r--r--chaknpop.h2131logstatsplainblame -rw-r--r--champbas.h4093logstatsplainblame -rw-r--r--changela.h3457logstatsplainblame -rw-r--r--channelf.h1946logstatsplainblame -rw-r--r--cheekyms.h2144logstatsplainblame -rw-r--r--chqflag.h2517logstatsplainblame -rw-r--r--cidelsa.h3744logstatsplainblame -rw-r--r--cinemat.h9085logstatsplainblame -rw-r--r--circus.h3262logstatsplainblame -rw-r--r--circusc.h2836logstatsplainblame -rw-r--r--cischeat.h7991logstatsplainblame -rw-r--r--citycon.h2080logstatsplainblame -rw-r--r--ckingbase.h2343logstatsplainblame -rw-r--r--cloak.h2583logstatsplainblame -rw-r--r--cloud9.h2671logstatsplainblame -rw-r--r--clshroad.h2205logstatsplainblame -rw-r--r--cninja.h4571logstatsplainblame -rw-r--r--coco.h9276logstatsplainblame -rw-r--r--coco12.h1946logstatsplainblame -rw-r--r--coco3.h2077logstatsplainblame -rw-r--r--coleco.h4005logstatsplainblame -rw-r--r--combatsc.h4480logstatsplainblame -rw-r--r--commando.h2522logstatsplainblame -rw-r--r--compgolf.h2150logstatsplainblame -rw-r--r--comquest.h964logstatsplainblame -rw-r--r--comx35.h3249logstatsplainblame -rw-r--r--concept.h2355logstatsplainblame -rw-r--r--contra.h3270logstatsplainblame -rw-r--r--coolpool.h2967logstatsplainblame -rw-r--r--cop01.h3042logstatsplainblame -rw-r--r--copsnrob.h2063logstatsplainblame -rw-r--r--cosmic.h5063logstatsplainblame -rw-r--r--cosmicos.h3759logstatsplainblame -rw-r--r--cps1.h13164logstatsplainblame -rw-r--r--cps3.h6574logstatsplainblame -rw-r--r--crbaloon.h2702logstatsplainblame -rw-r--r--crgolf.h2841logstatsplainblame -rw-r--r--crimfght.h2268logstatsplainblame -rw-r--r--crospang.h2552logstatsplainblame -rw-r--r--crshrace.h2649logstatsplainblame -rw-r--r--crvision.h3432logstatsplainblame -rw-r--r--cvs.h5493logstatsplainblame -rw-r--r--cxgbase.h2413logstatsplainblame -rw-r--r--cxhumax.h9120logstatsplainblame -rw-r--r--cyberbal.h5210logstatsplainblame -rw-r--r--cybiko.h2954logstatsplainblame -rw-r--r--cybstorm.h1879logstatsplainblame -rw-r--r--dai.h2393logstatsplainblame -rw-r--r--darius.h4050logstatsplainblame -rw-r--r--darkmist.h2637logstatsplainblame -rw-r--r--darkseal.h1923logstatsplainblame -rw-r--r--dassault.h2517logstatsplainblame -rw-r--r--dbz.h2996logstatsplainblame -rw-r--r--dc.h11305logstatsplainblame -rw-r--r--dccons.h1680logstatsplainblame -rw-r--r--dcheese.h2879logstatsplainblame -rw-r--r--dcon.h2336logstatsplainblame -rw-r--r--dday.h2599logstatsplainblame -rw-r--r--ddragon.h6010logstatsplainblame -rw-r--r--ddragon3.h4658logstatsplainblame -rw-r--r--ddribble.h3198logstatsplainblame -rw-r--r--deadang.h3364logstatsplainblame -rw-r--r--dec0.h7449logstatsplainblame -rw-r--r--dec8.h8188logstatsplainblame -rw-r--r--deco32.h8353logstatsplainblame -rw-r--r--deco_mlc.h3182logstatsplainblame -rw-r--r--decocass.h13712logstatsplainblame -rw-r--r--deniam.h3088logstatsplainblame -rw-r--r--dgn_beta.h8001logstatsplainblame -rw-r--r--dgnalpha.h2551logstatsplainblame -rw-r--r--dietgo.h1809logstatsplainblame -rw-r--r--digdug.h1657logstatsplainblame -rw-r--r--divebomb.h3025logstatsplainblame -rw-r--r--djboy.h3773logstatsplainblame -rw-r--r--djmain.h3133logstatsplainblame -rw-r--r--dkong.h11565logstatsplainblame -rw-r--r--dm7000.h2606logstatsplainblame -rw-r--r--docastle.h3212logstatsplainblame -rw-r--r--dogfgt.h2472logstatsplainblame -rw-r--r--dragon.h3287logstatsplainblame -rw-r--r--dragrace.h2758logstatsplainblame -rw-r--r--drgnmst.h3091logstatsplainblame -rw-r--r--dribling.h1974logstatsplainblame -rw-r--r--drmicro.h1803logstatsplainblame -rw-r--r--dynax.h12640logstatsplainblame -rw-r--r--dynduke.h2473logstatsplainblame -rw-r--r--efdt.h2162logstatsplainblame -rw-r--r--electron.h4029logstatsplainblame -rw-r--r--elf.h2152logstatsplainblame -rw-r--r--eolith.h2756logstatsplainblame -rw-r--r--epos.h2035logstatsplainblame -rw-r--r--eprom.h2542logstatsplainblame -rw-r--r--equites.h6256logstatsplainblame -rw-r--r--esd16.h3524logstatsplainblame -rw-r--r--espial.h2954logstatsplainblame -rw-r--r--esripsys.h4198logstatsplainblame -rw-r--r--eti660.h2044logstatsplainblame -rw-r--r--exedexes.h2481logstatsplainblame -rw-r--r--exerion.h2961logstatsplainblame -rw-r--r--exidy.h5004logstatsplainblame -rw-r--r--exidy440.h4102logstatsplainblame -rw-r--r--exp85.h1419logstatsplainblame -rw-r--r--exprraid.h2724logstatsplainblame -rw-r--r--exterm.h2710logstatsplainblame -rw-r--r--exzisus.h1568logstatsplainblame -rw-r--r--f1gp.h4082logstatsplainblame -rw-r--r--fantland.h3288logstatsplainblame -rw-r--r--fastfred.h3553logstatsplainblame -rw-r--r--fastlane.h2608logstatsplainblame -rw-r--r--fcombat.h2825logstatsplainblame -rw-r--r--fcrash.h3212logstatsplainblame -rw-r--r--fgoal.h2341logstatsplainblame -rw-r--r--finalizr.h2637logstatsplainblame -rw-r--r--firetrap.h4000logstatsplainblame -rw-r--r--firetrk.h6742logstatsplainblame -rw-r--r--fitfight.h3078logstatsplainblame -rw-r--r--flkatck.h2353logstatsplainblame -rw-r--r--flstory.h4211logstatsplainblame -rw-r--r--fm7.h12001logstatsplainblame -rw-r--r--fmtowns.h15199logstatsplainblame -rw-r--r--foodf.h2258logstatsplainblame -rw-r--r--freekick.h3464logstatsplainblame -rw-r--r--fromanc2.h4747logstatsplainblame -rw-r--r--fromance.h4481logstatsplainblame -rw-r--r--funkybee.h1938logstatsplainblame -rw-r--r--funkyjet.h1504logstatsplainblame -rw-r--r--funworld.h4853logstatsplainblame -rw-r--r--funybubl.h2146logstatsplainblame -rw-r--r--fuukifg2.h2923logstatsplainblame -rw-r--r--fuukifg3.h3556logstatsplainblame -rw-r--r--gaelco.h2771logstatsplainblame -rw-r--r--gaelco2.h4905logstatsplainblame -rw-r--r--gaelco3d.h5968logstatsplainblame -rw-r--r--gaelcrpt.h211logstatsplainblame -rw-r--r--gaiden.h5164logstatsplainblame -rw-r--r--galaga.h3589logstatsplainblame -rw-r--r--galastrm.h2780logstatsplainblame -rw-r--r--galaxia.h1696logstatsplainblame -rw-r--r--galaxian.h21463logstatsplainblame -rw-r--r--galaxold.h14702logstatsplainblame -rw-r--r--galaxy.h2033logstatsplainblame -rw-r--r--galeb.h1596logstatsplainblame -rw-r--r--galivan.h3708logstatsplainblame -rw-r--r--galpani2.h2899logstatsplainblame -rw-r--r--galpanic.h1750logstatsplainblame -rw-r--r--galpnipt.h8429logstatsplainblame -rw-r--r--galspnbl.h2219logstatsplainblame -rw-r--r--gamecom.h8041logstatsplainblame -rw-r--r--gameplan.h4046logstatsplainblame -rw-r--r--gamepock.h1444logstatsplainblame -rw-r--r--gaplus.h4525logstatsplainblame -rw-r--r--gatron.h999logstatsplainblame -rw-r--r--gauntlet.h2862logstatsplainblame -rw-r--r--gb.h4605logstatsplainblame -rw-r--r--gba.h2393logstatsplainblame -rw-r--r--gberet.h2971logstatsplainblame -rw-r--r--gcpinbal.h2653logstatsplainblame -rw-r--r--gijoe.h2427logstatsplainblame -rw-r--r--ginganin.h2363logstatsplainblame -rw-r--r--gladiatr.h6296logstatsplainblame -rw-r--r--glass.h2510logstatsplainblame -rw-r--r--gng.h2218logstatsplainblame -rw-r--r--goal92.h2838logstatsplainblame -rw-r--r--goindol.h2392logstatsplainblame -rw-r--r--goldstar.h12038logstatsplainblame -rw-r--r--gomoku.h1656logstatsplainblame -rw-r--r--gotcha.h2553logstatsplainblame -rw-r--r--gottlieb.h5276logstatsplainblame -rw-r--r--gotya.h2109logstatsplainblame -rw-r--r--gp32.h7179logstatsplainblame -rw-r--r--gradius3.h2372logstatsplainblame -rw-r--r--grchamp.h4766logstatsplainblame -rw-r--r--gridlee.h3642logstatsplainblame -rw-r--r--groundfx.h1910logstatsplainblame -rw-r--r--gstriker.h2814logstatsplainblame -rw-r--r--gsword.h4605logstatsplainblame -rw-r--r--gumbo.h1562logstatsplainblame -rw-r--r--gunbustr.h2192logstatsplainblame -rw-r--r--gundealr.h2321logstatsplainblame -rw-r--r--gunsmoke.h2138logstatsplainblame -rw-r--r--gyruss.h2976logstatsplainblame -rw-r--r--h01x.h2659logstatsplainblame -rw-r--r--hanaawas.h1782logstatsplainblame -rw-r--r--harddriv.h24514logstatsplainblame -rw-r--r--hcastle.h2922logstatsplainblame -rw-r--r--hec2hrp.h7853logstatsplainblame -rw-r--r--hexion.h1781logstatsplainblame -rw-r--r--hh_sm510.h4235logstatsplainblame -rw-r--r--hh_tms1k.h2145logstatsplainblame -rw-r--r--higemaru.h1716logstatsplainblame -rw-r--r--himesiki.h2145logstatsplainblame -rw-r--r--hitme.h2293logstatsplainblame -rw-r--r--hnayayoi.h2559logstatsplainblame -rw-r--r--hng64.h16792logstatsplainblame -rw-r--r--holeland.h2248logstatsplainblame -rw-r--r--homedata.h7554logstatsplainblame -rw-r--r--homerun.h2293logstatsplainblame -rw-r--r--hp48.h5444logstatsplainblame -rw-r--r--hp9845.h3954logstatsplainblame -rw-r--r--huebler.h2170logstatsplainblame -rw-r--r--hx20.h3405logstatsplainblame -rw-r--r--hyhoo.h1404logstatsplainblame -rw-r--r--hyperspt.h2917logstatsplainblame -rw-r--r--ikki.h1937logstatsplainblame -rw-r--r--interpro.h12449logstatsplainblame -rw-r--r--intv.h4634logstatsplainblame -rw-r--r--inufuku.h2695logstatsplainblame -rw-r--r--iqblock.h1586logstatsplainblame -rw-r--r--iremipt.h16935logstatsplainblame -rw-r--r--irobot.h3673logstatsplainblame -rw-r--r--ironhors.h3221logstatsplainblame -rw-r--r--itech32.h8076logstatsplainblame -rw-r--r--itech8.h8184logstatsplainblame -rw-r--r--jack.h3581logstatsplainblame -rw-r--r--jackal.h2361logstatsplainblame -rw-r--r--jaguar.h16414logstatsplainblame -rw-r--r--jailbrek.h2313logstatsplainblame -rw-r--r--jazz.h2837logstatsplainblame -rw-r--r--jedi.h4171logstatsplainblame -rw-r--r--jensen.h1560logstatsplainblame -rw-r--r--jpmimpct.h3940logstatsplainblame -rw-r--r--jpmsys5.h3803logstatsplainblame -rw-r--r--kaneko16.h7467logstatsplainblame -rw-r--r--kangaroo.h1621logstatsplainblame -rw-r--r--karnov.h3776logstatsplainblame -rw-r--r--kaypro.h3606logstatsplainblame -rw-r--r--kc.h5804logstatsplainblame -rw-r--r--kchamp.h3517logstatsplainblame -rw-r--r--kickgoal.h3306logstatsplainblame -rw-r--r--kim1.h1911logstatsplainblame -rw-r--r--kingobox.h3968logstatsplainblame -rw-r--r--klax.h1445logstatsplainblame -rw-r--r--kncljoe.h2579logstatsplainblame -rw-r--r--konamigx.h13903logstatsplainblame -rw-r--r--konamipt.h21160logstatsplainblame -rw-r--r--kopunch.h1980logstatsplainblame -rw-r--r--kramermc.h1412logstatsplainblame -rw-r--r--ksayakyu.h2217logstatsplainblame -rw-r--r--kyocera.h7228logstatsplainblame -rw-r--r--kyugo.h3251logstatsplainblame -rw-r--r--labyrunr.h2116logstatsplainblame -rw-r--r--ladybug.h3671logstatsplainblame -rw-r--r--ladyfrog.h3012logstatsplainblame -rw-r--r--laserbat.h5919logstatsplainblame -rw-r--r--lasso.h4239logstatsplainblame -rw-r--r--lastduel.h2935logstatsplainblame -rw-r--r--lazercmd.h2726logstatsplainblame -rw-r--r--lc80.h1942logstatsplainblame -rw-r--r--legionna.h4867logstatsplainblame -rw-r--r--leland.h8557logstatsplainblame -rw-r--r--lemmings.h2502logstatsplainblame -rw-r--r--lethal.h2288logstatsplainblame -rw-r--r--lethalj.h2322logstatsplainblame -rw-r--r--liberate.h4223logstatsplainblame -rw-r--r--liberatr.h4077logstatsplainblame -rw-r--r--lisa.h7743logstatsplainblame -rw-r--r--lkage.h2769logstatsplainblame -rw-r--r--llc.h2232logstatsplainblame -rw-r--r--lockon.h5183logstatsplainblame -rw-r--r--lordgun.h3778logstatsplainblame -rw-r--r--lsasquad.h2755logstatsplainblame -rw-r--r--lucky74.h2457logstatsplainblame -rw-r--r--lvcards.h1938logstatsplainblame -rw-r--r--lviv.h2828logstatsplainblame -rw-r--r--lwings.h3948logstatsplainblame -rw-r--r--lynx.h9176logstatsplainblame -rw-r--r--m10.h4346logstatsplainblame -rw-r--r--m107.h3136logstatsplainblame -rw-r--r--m5.h4994logstatsplainblame -rw-r--r--m52.h3207logstatsplainblame -rw-r--r--m57.h1510logstatsplainblame -rw-r--r--m58.h2148logstatsplainblame -rw-r--r--m62.h7870logstatsplainblame -rw-r--r--m72.h8777logstatsplainblame -rw-r--r--m79amb.h1457logstatsplainblame -rw-r--r--m90.h3391logstatsplainblame -rw-r--r--m92.h4530logstatsplainblame -rw-r--r--mac.h20878logstatsplainblame -rw-r--r--macpci.h4361logstatsplainblame -rw-r--r--macrossp.h4099logstatsplainblame -rw-r--r--madalien.h3877logstatsplainblame -rw-r--r--magmax.h2301logstatsplainblame -rw-r--r--mainevt.h2738logstatsplainblame -rw-r--r--mainsnk.h1873logstatsplainblame -rw-r--r--malzak.h2240logstatsplainblame -rw-r--r--mappy.h3870logstatsplainblame -rw-r--r--marineb.h2939logstatsplainblame -rw-r--r--mario.h5119logstatsplainblame -rw-r--r--markham.h3593logstatsplainblame -rw-r--r--matmania.h2681logstatsplainblame -rw-r--r--maygay1b.h4569logstatsplainblame -rw-r--r--mbc55x.h5134logstatsplainblame -rw-r--r--mbee.h6048logstatsplainblame -rw-r--r--mc1502.h2696logstatsplainblame -rw-r--r--mcatadv.h2293logstatsplainblame -rw-r--r--mcr.h7013logstatsplainblame -