| OLD | NEW | 
|---|
| 1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. | 
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be | 
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. | 
| 4 | 4 | 
| 5 #include "src/ast/ast.h" | 5 #include "src/ast/ast.h" | 
| 6 | 6 | 
| 7 #include <cmath>  // For isfinite. | 7 #include <cmath>  // For isfinite. | 
| 8 | 8 | 
| 9 #include "src/ast/prettyprinter.h" | 9 #include "src/ast/prettyprinter.h" | 
| 10 #include "src/ast/scopes.h" | 10 #include "src/ast/scopes.h" | 
| (...skipping 932 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 943   } | 943   } | 
| 944 | 944 | 
| 945   return OTHER_CALL; | 945   return OTHER_CALL; | 
| 946 } | 946 } | 
| 947 | 947 | 
| 948 CaseClause::CaseClause(Expression* label, ZoneList<Statement*>* statements, | 948 CaseClause::CaseClause(Expression* label, ZoneList<Statement*>* statements, | 
| 949                        int pos) | 949                        int pos) | 
| 950     : Expression(pos, kCaseClause), | 950     : Expression(pos, kCaseClause), | 
| 951       label_(label), | 951       label_(label), | 
| 952       statements_(statements), | 952       statements_(statements), | 
| 953       compare_type_(Type::None()) {} | 953       compare_type_(AstType::None()) {} | 
| 954 | 954 | 
| 955 void CaseClause::AssignFeedbackVectorSlots(Isolate* isolate, | 955 void CaseClause::AssignFeedbackVectorSlots(Isolate* isolate, | 
| 956                                            FeedbackVectorSpec* spec, | 956                                            FeedbackVectorSpec* spec, | 
| 957                                            FeedbackVectorSlotCache* cache) { | 957                                            FeedbackVectorSlotCache* cache) { | 
| 958   type_feedback_slot_ = spec->AddGeneralSlot(); | 958   type_feedback_slot_ = spec->AddGeneralSlot(); | 
| 959 } | 959 } | 
| 960 | 960 | 
| 961 uint32_t Literal::Hash() { | 961 uint32_t Literal::Hash() { | 
| 962   return raw_value()->IsString() | 962   return raw_value()->IsString() | 
| 963              ? raw_value()->AsString()->hash() | 963              ? raw_value()->AsString()->hash() | 
| 964              : ComputeLongHash(double_to_uint64(raw_value()->AsNumber())); | 964              : ComputeLongHash(double_to_uint64(raw_value()->AsNumber())); | 
| 965 } | 965 } | 
| 966 | 966 | 
| 967 | 967 | 
| 968 // static | 968 // static | 
| 969 bool Literal::Match(void* literal1, void* literal2) { | 969 bool Literal::Match(void* literal1, void* literal2) { | 
| 970   const AstValue* x = static_cast<Literal*>(literal1)->raw_value(); | 970   const AstValue* x = static_cast<Literal*>(literal1)->raw_value(); | 
| 971   const AstValue* y = static_cast<Literal*>(literal2)->raw_value(); | 971   const AstValue* y = static_cast<Literal*>(literal2)->raw_value(); | 
| 972   return (x->IsString() && y->IsString() && x->AsString() == y->AsString()) || | 972   return (x->IsString() && y->IsString() && x->AsString() == y->AsString()) || | 
| 973          (x->IsNumber() && y->IsNumber() && x->AsNumber() == y->AsNumber()); | 973          (x->IsNumber() && y->IsNumber() && x->AsNumber() == y->AsNumber()); | 
| 974 } | 974 } | 
| 975 | 975 | 
| 976 }  // namespace internal | 976 }  // namespace internal | 
| 977 }  // namespace v8 | 977 }  // namespace v8 | 
| OLD | NEW | 
|---|