X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mono%2Fmetadata%2Fopcodes.c;h=511b291df997428e5ffcaab002126ea70ec8cfd4;hb=3b9f8e8d77e139118bc54e08185bdb8322570ab0;hp=e534d33b42239c659f083813f3a06176d3682af8;hpb=8ef4e4703172fd32ada3f74b22df5203b4683493;p=mono.git diff --git a/mono/metadata/opcodes.c b/mono/metadata/opcodes.c index e534d33b422..511b291df99 100644 --- a/mono/metadata/opcodes.c +++ b/mono/metadata/opcodes.c @@ -1,11 +1,13 @@ -/* - * opcodes.c: CIL instruction information +/** + * \file + * CIL instruction information * * Author: * Paolo Molaro (lupus@ximian.com) * * Copyright 2002-2003 Ximian, Inc (http://www.ximian.com) * Copyright 2004-2009 Novell, Inc (http://www.novell.com) + * Licensed under the MIT license. See LICENSE file in the project root for full license information. */ #include #include /* for NULL */ @@ -43,6 +45,9 @@ static const int16_t opidx [] = { #undef OPDEF }; +/** + * mono_opcode_name: + */ const char* mono_opcode_name (int opcode) { @@ -72,19 +77,19 @@ mono_opcode_value (const mono_byte **ip, const mono_byte *end) const mono_byte *p = *ip; if (p >= end) - return -1; + return (MonoOpcodeEnum)-1; if (*p == 0xfe) { ++p; if (p >= end) - return -1; - res = *p + MONO_PREFIX1_OFFSET; + return (MonoOpcodeEnum)-1; + res = (MonoOpcodeEnum)(*p + MONO_PREFIX1_OFFSET); } else if (*p == MONO_CUSTOM_PREFIX) { ++p; if (p >= end) - return -1; - res = *p + MONO_CUSTOM_PREFIX_OFFSET; + return (MonoOpcodeEnum)-1; + res = (MonoOpcodeEnum)(*p + MONO_CUSTOM_PREFIX_OFFSET); } else { - res = *p; + res = (MonoOpcodeEnum)*p; } *ip = p; return res;