// Copyright 2015 the V8 project authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "src/interpreter/interpreter-intrinsics.h" #include "src/base/logging.h" namespace v8 { namespace internal { namespace interpreter { // static bool IntrinsicsHelper::IsSupported(Runtime::FunctionId function_id) { switch (function_id) { #define SUPPORTED(name, lower_case, count) case Runtime::kInline##name: INTRINSICS_LIST(SUPPORTED) return true; #undef SUPPORTED default: return false; } } // static IntrinsicsHelper::IntrinsicId IntrinsicsHelper::FromRuntimeId( Runtime::FunctionId function_id) { switch (function_id) { #define TO_RUNTIME_ID(name, lower_case, count) \ case Runtime::kInline##name: \ return IntrinsicId::k##name; INTRINSICS_LIST(TO_RUNTIME_ID) #undef TO_RUNTIME_ID default: UNREACHABLE(); } } // static Runtime::FunctionId IntrinsicsHelper::ToRuntimeId( IntrinsicsHelper::IntrinsicId intrinsic_id) { switch (intrinsic_id) { #define TO_INTRINSIC_ID(name, lower_case, count) \ case IntrinsicId::k##name: \ return Runtime::kInline##name; INTRINSICS_LIST(TO_INTRINSIC_ID) #undef TO_INTRINSIC_ID default: UNREACHABLE(); } } } // namespace interpreter } // namespace internal } // namespace v8