#ifndef V8_IC_KEYED_STORE_GENERIC_H_
#define V8_IC_KEYED_STORE_GENERIC_H_
#include "src/common/globals.h"
#include "src/compiler/code-assembler.h"
namespace v8 {
namespace internal {
class KeyedStoreMegamorphicGenerator {
public:
static void Generate(compiler::CodeAssemblerState* state);
};
class KeyedStoreGenericGenerator {
public:
static void Generate(compiler::CodeAssemblerState* state);
static void SetProperty(compiler::CodeAssemblerState* state,
TNode<Context> context, TNode<JSReceiver> receiver,
TNode<BoolT> is_simple_receiver, TNode<Name> name,
TNode<Object> value, LanguageMode language_mode);
static void SetProperty(compiler::CodeAssemblerState* state,
TNode<Context> context, TNode<JSAny> receiver,
TNode<Object> key, TNode<Object> value,
LanguageMode language_mode);
static void CreateDataProperty(compiler::CodeAssemblerState* state,
TNode<Context> context,
TNode<JSObject> receiver, TNode<Object> key,
TNode<Object> value);
};
class DefineKeyedOwnGenericGenerator {
public:
static void Generate(compiler::CodeAssemblerState* state);
};
class StoreICNoFeedbackGenerator {
public:
static void Generate(compiler::CodeAssemblerState* state);
};
class DefineNamedOwnICNoFeedbackGenerator {
public:
static void Generate(compiler::CodeAssemblerState* state);
};
}
}
#endif