Index: src/x64/lithium-codegen-x64.cc |
diff --git a/src/x64/lithium-codegen-x64.cc b/src/x64/lithium-codegen-x64.cc |
index d4c125bcdc6e9a62ab74cfd01ee7c9504ec456f9..16430be21aa6e46673ae2cdcec86444da7379c1c 100644 |
--- a/src/x64/lithium-codegen-x64.cc |
+++ b/src/x64/lithium-codegen-x64.cc |
@@ -1996,6 +1996,12 @@ void LCodeGen::DoBranch(LBranch* instr) { |
__ bind(¬_string); |
} |
+ if (expected.Contains(ToBooleanStub::SYMBOL)) { |
+ // Symbol value -> true. |
+ __ CmpInstanceType(map, SYMBOL_TYPE); |
+ __ j(equal, instr->TrueLabel(chunk_)); |
+ } |
+ |
if (expected.Contains(ToBooleanStub::HEAP_NUMBER)) { |
// heap number -> false iff +0, -0, or NaN. |
Label not_heap_number; |