[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