summaryrefslogtreecommitdiff
path: root/deps/v8/src/optimized-compilation-info.h
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/src/optimized-compilation-info.h')
-rw-r--r--deps/v8/src/optimized-compilation-info.h37
1 files changed, 15 insertions, 22 deletions
diff --git a/deps/v8/src/optimized-compilation-info.h b/deps/v8/src/optimized-compilation-info.h
index ecb883f49d..37232a2f06 100644
--- a/deps/v8/src/optimized-compilation-info.h
+++ b/deps/v8/src/optimized-compilation-info.h
@@ -27,6 +27,7 @@ class DeferredHandles;
class FunctionLiteral;
class Isolate;
class JavaScriptFrame;
+class JSGlobalObject;
class ParseInfo;
class SourceRangeMap;
class Zone;
@@ -79,11 +80,7 @@ class V8_EXPORT_PRIVATE OptimizedCompilationInfo final {
wasm::WasmCode* wasm_code() const {
return const_cast<wasm::WasmCode*>(code_.as_wasm_code());
}
- AbstractCode::Kind abstract_code_kind() const { return code_kind_; }
- Code::Kind code_kind() const {
- DCHECK(code_kind_ < static_cast<AbstractCode::Kind>(Code::NUMBER_OF_KINDS));
- return static_cast<Code::Kind>(code_kind_);
- }
+ Code::Kind code_kind() const { return code_kind_; }
uint32_t stub_key() const { return stub_key_; }
void set_stub_key(uint32_t stub_key) { stub_key_ = stub_key; }
int32_t builtin_index() const { return builtin_index_; }
@@ -200,15 +197,11 @@ class V8_EXPORT_PRIVATE OptimizedCompilationInfo final {
JSGlobalObject* global_object() const;
// Accessors for the different compilation modes.
- bool IsOptimizing() const {
- return abstract_code_kind() == AbstractCode::OPTIMIZED_FUNCTION;
- }
- bool IsWasm() const {
- return abstract_code_kind() == AbstractCode::WASM_FUNCTION;
- }
+ bool IsOptimizing() const { return code_kind() == Code::OPTIMIZED_FUNCTION; }
+ bool IsWasm() const { return code_kind() == Code::WASM_FUNCTION; }
bool IsStub() const {
- return abstract_code_kind() != AbstractCode::OPTIMIZED_FUNCTION &&
- abstract_code_kind() != AbstractCode::WASM_FUNCTION;
+ return code_kind() != Code::OPTIMIZED_FUNCTION &&
+ code_kind() != Code::WASM_FUNCTION;
}
void SetOptimizingForOsr(BailoutId osr_offset, JavaScriptFrame* osr_frame) {
DCHECK(IsOptimizing());
@@ -281,8 +274,8 @@ class V8_EXPORT_PRIVATE OptimizedCompilationInfo final {
}
private:
- OptimizedCompilationInfo(Vector<const char> debug_name,
- AbstractCode::Kind code_kind, Zone* zone);
+ OptimizedCompilationInfo(Code::Kind code_kind, Zone* zone);
+ void ConfigureFlags();
void SetFlag(Flag flag) { flags_ |= flag; }
bool GetFlag(Flag flag) const { return (flags_ & flag) != 0; }
@@ -290,13 +283,13 @@ class V8_EXPORT_PRIVATE OptimizedCompilationInfo final {
void SetTracingFlags(bool passes_filter);
// Compilation flags.
- unsigned flags_;
+ unsigned flags_ = 0;
PoisoningMitigationLevel poisoning_level_ =
PoisoningMitigationLevel::kDontPoison;
- AbstractCode::Kind code_kind_;
- uint32_t stub_key_;
- int32_t builtin_index_;
+ Code::Kind code_kind_;
+ uint32_t stub_key_ = 0;
+ int32_t builtin_index_ = -1;
Handle<SharedFunctionInfo> shared_info_;
@@ -306,7 +299,7 @@ class V8_EXPORT_PRIVATE OptimizedCompilationInfo final {
CodeReference code_;
// Entry point when compiling for OSR, {BailoutId::None} otherwise.
- BailoutId osr_offset_;
+ BailoutId osr_offset_ = BailoutId::None();
// The zone from which the compilation pipeline working on this
// OptimizedCompilationInfo allocates.
@@ -314,11 +307,11 @@ class V8_EXPORT_PRIVATE OptimizedCompilationInfo final {
std::shared_ptr<DeferredHandles> deferred_handles_;
- BailoutReason bailout_reason_;
+ BailoutReason bailout_reason_ = BailoutReason::kNoReason;
InlinedFunctionList inlined_functions_;
- int optimization_id_;
+ int optimization_id_ = -1;
// The current OSR frame for specialization or {nullptr}.
JavaScriptFrame* osr_frame_ = nullptr;