Index: src/hydrogen-instructions.h |
diff --git a/src/hydrogen-instructions.h b/src/hydrogen-instructions.h |
index ec50f5bdfd2733c3ab9b8d96159c15c2e37e4865..da712780fd576bf672453d9f54459752798f5d53 100644 |
--- a/src/hydrogen-instructions.h |
+++ b/src/hydrogen-instructions.h |
@@ -7448,17 +7448,25 @@ class HFunctionLiteral V8_FINAL : public HTemplateInstruction<1> { |
bool pretenure() const { return pretenure_; } |
bool has_no_literals() const { return has_no_literals_; } |
bool is_generator() const { return is_generator_; } |
+ bool is_concise_method() const { return is_concise_method_; } |
+ FunctionKind kind() const { |
+ // TODO(arv): Update to handle concise generator methods. |
+ // if (is_arrow()) return FunctionKind::kArrowFunction; |
+ if (is_generator()) return FunctionKind::kGeneratorFunction; |
+ if (is_concise_method()) return FunctionKind::kConciseMethod; |
+ return FunctionKind::kNormalFunction; |
+ } |
StrictMode strict_mode() const { return strict_mode_; } |
private: |
- HFunctionLiteral(HValue* context, |
- Handle<SharedFunctionInfo> shared, |
+ HFunctionLiteral(HValue* context, Handle<SharedFunctionInfo> shared, |
bool pretenure) |
: HTemplateInstruction<1>(HType::JSObject()), |
shared_info_(shared), |
pretenure_(pretenure), |
has_no_literals_(shared->num_literals() == 0), |
is_generator_(shared->is_generator()), |
+ is_concise_method_(shared->is_concise_method()), |
strict_mode_(shared->strict_mode()) { |
SetOperandAt(0, context); |
set_representation(Representation::Tagged()); |
@@ -7471,6 +7479,7 @@ class HFunctionLiteral V8_FINAL : public HTemplateInstruction<1> { |
bool pretenure_ : 1; |
bool has_no_literals_ : 1; |
bool is_generator_ : 1; |
+ bool is_concise_method_ : 1; |
StrictMode strict_mode_; |
}; |