OpCodeUtilAsmJs.h 1.1 KB

12345678910111213141516171819202122232425262728
  1. //-------------------------------------------------------------------------------------------------------
  2. // Copyright (C) Microsoft. All rights reserved.
  3. // Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
  4. //-------------------------------------------------------------------------------------------------------
  5. #pragma once
  6. #ifdef ASMJS_PLAT
  7. namespace Js
  8. {
  9. class OpCodeUtilAsmJs
  10. {
  11. public:
  12. static char16 const * GetOpCodeName(OpCodeAsmJs op);
  13. static OpLayoutTypeAsmJs GetOpCodeLayout(OpCodeAsmJs op);
  14. static bool IsValidByteCodeOpcode(OpCodeAsmJs op);
  15. static bool IsValidOpcode(OpCodeAsmJs op);
  16. static void ConvertOpToProfiled(OpCodeAsmJs * op);
  17. private:
  18. #if DBG_DUMP || ENABLE_DEBUG_CONFIG_OPTIONS
  19. static char16 const * const OpCodeAsmJsNames[(int)Js::OpCodeAsmJs::MaxByteSizedOpcodes + 1];
  20. static char16 const * const ExtendedOpCodeAsmJsNames[];
  21. #endif
  22. static OpLayoutTypeAsmJs const OpCodeAsmJsLayouts[];
  23. static OpLayoutTypeAsmJs const ExtendedOpCodeAsmJsLayouts[];
  24. };
  25. };
  26. #endif