#include "src/base/logging.h"
#include "src/codegen/code-stub-assembler-inl.h"
#include "src/common/globals.h"
#include "src/objects/descriptor-array.h"
#include "src/objects/property-details.h"
#include "src/objects/string-inl.h"
#include "src/objects/transitions-inl.h"
#include "test/cctest/cctest.h"
#include "test/cctest/compiler/function-tester.h"
#include "test/cctest/test-transitions.h"
#include "test/common/code-assembler-tester.h"
namespace v8 {
namespace internal {
#include "src/codegen/define-code-stub-assembler-macros.inc"
namespace {
Label;
TVariable;
Handle<Name> NewNameWithHash(Isolate* isolate, const char* str, uint32_t hash,
bool is_integer) { … }
template <typename... Args>
MaybeHandle<Object> Call(Isolate* isolate, Handle<JSFunction> function,
Args... args) { … }
void CheckDescriptorArrayLookups(Isolate* isolate, Handle<Map> map,
std::vector<Handle<Name>>& names,
Handle<JSFunction> csa_lookup) { … }
void CheckTransitionArrayLookups(Isolate* isolate,
Handle<TransitionArray> transitions,
std::vector<Handle<Map>>& maps,
Handle<JSFunction> csa_lookup) { … }
Handle<JSFunction> CreateCsaDescriptorArrayLookup(Isolate* isolate) { … }
Handle<JSFunction> CreateCsaTransitionArrayLookup(Isolate* isolate) { … }
}
TEST(DescriptorArrayHashCollisionMassive) { … }
TEST(DescriptorArrayHashCollision) { … }
TEST(TransitionArrayHashCollisionMassive) { … }
TEST(TransitionArrayHashCollision) { … }
#include "src/codegen/undef-code-stub-assembler-macros.inc"
}
}