// 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(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(reason)]; } bool IsValidAbortReason(int reason_id) { return reason_id >= static_cast(AbortReason::kNoReason) && reason_id < static_cast(AbortReason::kLastErrorMessage); } #undef ERROR_MESSAGES_TEXTS } // namespace internal } // namespace v8