| Index: src/interpreter/interpreter-intrinsics.h
|
| diff --git a/src/interpreter/interpreter-intrinsics.h b/src/interpreter/interpreter-intrinsics.h
|
| index 8606235a2e16d3300e1a7746b5468fd188ad468e..fdb7e9b7fffb6ed23d6f3dab7490f5a63cf86567 100644
|
| --- a/src/interpreter/interpreter-intrinsics.h
|
| +++ b/src/interpreter/interpreter-intrinsics.h
|
| @@ -20,6 +20,8 @@ namespace compiler {
|
| class Node;
|
| } // namespace compiler
|
|
|
| +namespace interpreter {
|
| +
|
| // List of supported intrisics, with upper case name, lower case name and
|
| // expected number of arguments (-1 denoting argument count is variable).
|
| #define INTRINSICS_LIST(V) \
|
| @@ -31,10 +33,16 @@ class Node;
|
| V(IsSmi, is_smi, 1) \
|
| V(IsTypedArray, is_typed_array, 1)
|
|
|
| -namespace interpreter {
|
| -
|
| class IntrinsicsHelper {
|
| public:
|
| + enum class IntrinsicId {
|
| +#define DECLARE_INTRINSIC_ID(name, lower_case, count) k##name,
|
| + INTRINSICS_LIST(DECLARE_INTRINSIC_ID)
|
| +#undef DECLARE_INTRINSIC_ID
|
| + kIdCount
|
| + };
|
| + STATIC_ASSERT(static_cast<uint32_t>(IntrinsicId::kIdCount) <= kMaxUInt8);
|
| +
|
| explicit IntrinsicsHelper(InterpreterAssembler* assembler);
|
|
|
| compiler::Node* InvokeIntrinsic(compiler::Node* function_id,
|
| @@ -43,6 +51,8 @@ class IntrinsicsHelper {
|
| compiler::Node* arg_count);
|
|
|
| static bool IsSupported(Runtime::FunctionId function_id);
|
| + static IntrinsicId FromRuntimeId(Runtime::FunctionId function_id);
|
| + static Runtime::FunctionId ToRuntimeId(IntrinsicId intrinsic_id);
|
|
|
| private:
|
| enum InstanceTypeCompareMode {
|
|
|