blob: 01d61b05389370a47300bc0a1bcbcd56e656da46 [file]
// Copyright 2020 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/objects/code-kind.h"
namespace v8 {
namespace internal {
const char* CodeKindToString(CodeKind kind) {
switch (kind) {
#define CASE(name) \
case CodeKind::name: \
return #name;
CODE_KIND_LIST(CASE)
#undef CASE
}
UNREACHABLE();
}
const char* CodeKindToMarker(CodeKind kind, bool context_specialized,
BytecodeOffset osr_offset) {
switch (kind) {
case CodeKind::INTERPRETED_FUNCTION:
return "~";
case CodeKind::BASELINE:
return "^";
case CodeKind::MAGLEV:
if (!osr_offset.IsNone()) {
DCHECK(!context_specialized);
return "o+";
}
return context_specialized ? "+'" : "+";
case CodeKind::TURBOFAN_JS:
if (!osr_offset.IsNone()) {
DCHECK(!context_specialized);
return "o*";
}
return context_specialized ? "*'" : "*";
default:
return "";
}
}
} // namespace internal
} // namespace v8