| OLD | NEW | 
|---|
| 1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 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/v8.h" | 5 #include "src/v8.h" | 
| 6 | 6 | 
| 7 #include "src/ic/ic.h" | 7 #include "src/ic/ic.h" | 
| 8 #include "src/ic/ic-state.h" | 8 #include "src/ic/ic-state.h" | 
| 9 | 9 | 
| 10 namespace v8 { | 10 namespace v8 { | 
| 11 namespace internal { | 11 namespace internal { | 
| 12 | 12 | 
| 13 // static | 13 // static | 
| 14 void ICUtility::Clear(Isolate* isolate, Address address, | 14 void ICUtility::Clear(Isolate* isolate, Address address, | 
| 15                       ConstantPoolArray* constant_pool) { | 15                       ConstantPoolArray* constant_pool) { | 
| 16   IC::Clear(isolate, address, constant_pool); | 16   IC::Clear(isolate, address, constant_pool); | 
| 17 } | 17 } | 
| 18 | 18 | 
| 19 | 19 | 
| 20 // static | 20 // static | 
| 21 template <class Nexus> |  | 
| 22 void ICUtility::Clear(Isolate* isolate, Code::Kind kind, Code* host, | 21 void ICUtility::Clear(Isolate* isolate, Code::Kind kind, Code* host, | 
| 23                       Nexus* nexus) { | 22                       TypeFeedbackVector* vector, FeedbackVectorICSlot slot) { | 
| 24   IC::Clear<Nexus>(isolate, kind, host, nexus); | 23   IC::Clear(isolate, kind, host, vector, slot); | 
| 25 } | 24 } | 
| 26 | 25 | 
| 27 | 26 | 
| 28 // Force instantiation of template instances for vector-based IC clearing. |  | 
| 29 template void ICUtility::Clear<CallICNexus>(Isolate*, Code::Kind, Code*, |  | 
| 30                                             CallICNexus*); |  | 
| 31 |  | 
| 32 |  | 
| 33 CallICState::CallICState(ExtraICState extra_ic_state) | 27 CallICState::CallICState(ExtraICState extra_ic_state) | 
| 34     : argc_(ArgcBits::decode(extra_ic_state)), | 28     : argc_(ArgcBits::decode(extra_ic_state)), | 
| 35       call_type_(CallTypeBits::decode(extra_ic_state)) {} | 29       call_type_(CallTypeBits::decode(extra_ic_state)) {} | 
| 36 | 30 | 
| 37 | 31 | 
| 38 ExtraICState CallICState::GetExtraICState() const { | 32 ExtraICState CallICState::GetExtraICState() const { | 
| 39   ExtraICState extra_ic_state = | 33   ExtraICState extra_ic_state = | 
| 40       ArgcBits::encode(argc_) | CallTypeBits::encode(call_type_); | 34       ArgcBits::encode(argc_) | CallTypeBits::encode(call_type_); | 
| 41   return extra_ic_state; | 35   return extra_ic_state; | 
| 42 } | 36 } | 
| (...skipping 576 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 619     case UNIQUE_NAME: | 613     case UNIQUE_NAME: | 
| 620     case OBJECT: | 614     case OBJECT: | 
| 621     case GENERIC: | 615     case GENERIC: | 
| 622       return GENERIC; | 616       return GENERIC; | 
| 623   } | 617   } | 
| 624   UNREACHABLE(); | 618   UNREACHABLE(); | 
| 625   return GENERIC;  // Make the compiler happy. | 619   return GENERIC;  // Make the compiler happy. | 
| 626 } | 620 } | 
| 627 } | 621 } | 
| 628 }  // namespace v8::internal | 622 }  // namespace v8::internal | 
| OLD | NEW | 
|---|