chromium/v8/src/ic/stub-cache.cc

// Copyright 2012 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/ic/stub-cache.h"

#include "src/ast/ast.h"
#include "src/base/bits.h"
#include "src/heap/heap-inl.h"  // For InYoungGeneration().
#include "src/ic/ic-inl.h"
#include "src/logging/counters.h"
#include "src/objects/tagged-value-inl.h"

namespace v8 {
namespace internal {

StubCache::StubCache(Isolate* isolate) :{}

void StubCache::Initialize() {}

// Hash algorithm for the primary table. This algorithm is replicated in
// the AccessorAssembler.  Returns an index into the table that
// is scaled by 1 << kCacheIndexShift.
int StubCache::PrimaryOffset(Tagged<Name> name, Tagged<Map> map) {}

// Hash algorithm for the secondary table.  This algorithm is replicated in
// assembler. This hash should be sufficiently different from the primary one
// in order to avoid collisions for minified code with short names.
// Returns an index into the table that is scaled by 1 << kCacheIndexShift.
int StubCache::SecondaryOffset(Tagged<Name> name, Tagged<Map> old_map) {}

int StubCache::PrimaryOffsetForTesting(Tagged<Name> name, Tagged<Map> map) {}

int StubCache::SecondaryOffsetForTesting(Tagged<Name> name, Tagged<Map> map) {}

#ifdef DEBUG
namespace {

bool CommonStubCacheChecks(StubCache* stub_cache, Tagged<Name> name,
                           Tagged<Map> map, Tagged<MaybeObject> handler) {}

}  // namespace
#endif

void StubCache::Set(Tagged<Name> name, Tagged<Map> map,
                    Tagged<MaybeObject> handler) {}

Tagged<MaybeObject> StubCache::Get(Tagged<Name> name, Tagged<Map> map) {}

void StubCache::Clear() {}

}  // namespace internal
}  // namespace v8