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. #ifndef TEMP_DISABLE_ASMJS
  7. namespace Js
  8. {
  9. class OpCodeUtilAsmJs
  10. {
  11. public:
  12. static wchar_t const * GetOpCodeName(OpCodeAsmJs op);
  13. static OpLayoutTypeAsmJs GetOpCodeLayout(OpCodeAsmJs op);
  14. static bool IsValidByteCodeOpcode(OpCodeAsmJs op);
  15. static bool IsValidOpcode(OpCodeAsmJs op);
  16. private:
  17. #if DBG_DUMP || ENABLE_DEBUG_CONFIG_OPTIONS
  18. static wchar_t const * const OpCodeAsmJsNames[(int)Js::OpCodeAsmJs::MaxByteSizedOpcodes + 1];
  19. static wchar_t const * const ExtendedOpCodeAsmJsNames[];
  20. #endif
  21. static OpLayoutTypeAsmJs const OpCodeAsmJsLayouts[];
  22. static OpLayoutTypeAsmJs const ExtendedOpCodeAsmJsLayouts[];
  23. };
  24. };
  25. #endif