[Scummvm-cvs-logs] SF.net SVN: scummvm:[51118] tools/branches/gsoc2010-decompiler/decompiler

pidgeot at users.sourceforge.net pidgeot at users.sourceforge.net
Thu Jul 22 00:21:19 CEST 2010


Revision: 51118
          http://scummvm.svn.sourceforge.net/scummvm/?rev=51118&view=rev
Author:   pidgeot
Date:     2010-07-21 22:21:18 +0000 (Wed, 21 Jul 2010)

Log Message:
-----------
Allow disabling default handling of opcodes

Modified Paths:
--------------
    tools/branches/gsoc2010-decompiler/decompiler/codegen.cpp
    tools/branches/gsoc2010-decompiler/decompiler/instruction.h

Modified: tools/branches/gsoc2010-decompiler/decompiler/codegen.cpp
===================================================================
--- tools/branches/gsoc2010-decompiler/decompiler/codegen.cpp	2010-07-21 22:05:16 UTC (rev 51117)
+++ tools/branches/gsoc2010-decompiler/decompiler/codegen.cpp	2010-07-21 22:21:18 UTC (rev 51118)
@@ -143,7 +143,9 @@
 
 	ConstInstIterator it = _curGroup->_start;
 	do {
-		switch (it->_type) {
+		if (it->_codeGenData.find("\xC0" == 0))
+			processInst(*it);
+		else switch (it->_type) {
 		// We handle plain dups here because their behavior should be identical across instruction sets and this prevents implementation error.
 		case kDup:
 			{

Modified: tools/branches/gsoc2010-decompiler/decompiler/instruction.h
===================================================================
--- tools/branches/gsoc2010-decompiler/decompiler/instruction.h	2010-07-21 22:05:16 UTC (rev 51117)
+++ tools/branches/gsoc2010-decompiler/decompiler/instruction.h	2010-07-21 22:21:18 UTC (rev 51118)
@@ -104,7 +104,7 @@
 	std::string _name;              ///< The instruction name (opcode name).
 	InstType _type;                 ///< The instruction type.
 	std::vector<Parameter> _params; ///< Array of parameters used for the instruction.
-	std::string _codeGenData;       ///< String containing metadata for code generation. See the extended documentation for details.
+	std::string _codeGenData;       ///< String containing metadata for code generation. Start with 0xC0 to force custom handling. See the extended documentation for details.
 };
 
 /**


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list