// Copyright 2014 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/bailout-reason.h"
|
#include "src/base/logging.h"
|
|
namespace v8 {
|
namespace internal {
|
|
#define ERROR_MESSAGES_TEXTS(C, T) T,
|
|
const char* GetBailoutReason(BailoutReason reason) {
|
DCHECK_LT(reason, BailoutReason::kLastErrorMessage);
|
DCHECK_GE(reason, BailoutReason::kNoReason);
|
static const char* error_messages_[] = {
|
BAILOUT_MESSAGES_LIST(ERROR_MESSAGES_TEXTS)};
|
return error_messages_[static_cast<int>(reason)];
|
}
|
|
const char* GetAbortReason(AbortReason reason) {
|
DCHECK_LT(reason, AbortReason::kLastErrorMessage);
|
DCHECK_GE(reason, AbortReason::kNoReason);
|
static const char* error_messages_[] = {
|
ABORT_MESSAGES_LIST(ERROR_MESSAGES_TEXTS)};
|
return error_messages_[static_cast<int>(reason)];
|
}
|
|
bool IsValidAbortReason(int reason_id) {
|
return reason_id >= static_cast<int>(AbortReason::kNoReason) &&
|
reason_id < static_cast<int>(AbortReason::kLastErrorMessage);
|
}
|
|
#undef ERROR_MESSAGES_TEXTS
|
} // namespace internal
|
} // namespace v8
|