Index: src/crankshaft/arm/lithium-arm.h |
diff --git a/src/crankshaft/arm/lithium-arm.h b/src/crankshaft/arm/lithium-arm.h |
index 747a8f52d4d36bb19a7084d9557f901c32bd7ff7..18a05cf68a9ed1c29257bb9aafe9d946c2170594 100644 |
--- a/src/crankshaft/arm/lithium-arm.h |
+++ b/src/crankshaft/arm/lithium-arm.h |
@@ -224,6 +224,13 @@ class LInstruction : public ZoneObject { |
void MarkAsCall() { bit_field_ = IsCallBits::update(bit_field_, true); } |
bool IsCall() const { return IsCallBits::decode(bit_field_); } |
+ void MarkAsSyntacticTailCall() { |
+ bit_field_ = IsSyntacticTailCallBits::update(bit_field_, true); |
+ } |
+ bool IsSyntacticTailCall() const { |
+ return IsSyntacticTailCallBits::decode(bit_field_); |
+ } |
+ |
// Interface to the register allocator and iterators. |
bool ClobbersTemps() const { return IsCall(); } |
bool ClobbersRegisters() const { return IsCall(); } |
@@ -258,6 +265,8 @@ class LInstruction : public ZoneObject { |
virtual LOperand* TempAt(int i) = 0; |
class IsCallBits: public BitField<bool, 0, 1> {}; |
+ class IsSyntacticTailCallBits : public BitField<bool, IsCallBits::kNext, 1> { |
+ }; |
LEnvironment* environment_; |
SetOncePointer<LPointerMap> pointer_map_; |