| 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 #include "test/cctest/cctest.h" | 6 #include "test/cctest/cctest.h" |
| 7 | 7 |
| 8 #include "src/api.h" | 8 #include "src/api.h" |
| 9 #include "src/debug/debug.h" | 9 #include "src/debug/debug.h" |
| 10 #include "src/execution.h" | 10 #include "src/execution.h" |
| (...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 92 | 92 |
| 93 CHECK_EQ(TypeFeedbackVector::kReservedIndexCount + 3 + | 93 CHECK_EQ(TypeFeedbackVector::kReservedIndexCount + 3 + |
| 94 5 * TypeFeedbackMetadata::GetSlotSize( | 94 5 * TypeFeedbackMetadata::GetSlotSize( |
| 95 FeedbackVectorSlotKind::CALL_IC), | 95 FeedbackVectorSlotKind::CALL_IC), |
| 96 vector->length()); | 96 vector->length()); |
| 97 } | 97 } |
| 98 | 98 |
| 99 { | 99 { |
| 100 FeedbackVectorSpec spec(&zone); | 100 FeedbackVectorSpec spec(&zone); |
| 101 spec.AddGeneralSlot(); | 101 spec.AddGeneralSlot(); |
| 102 spec.AddCreateClosureSlot(5); | 102 spec.AddCreateClosureSlot(); |
| 103 spec.AddGeneralSlot(); | 103 spec.AddGeneralSlot(); |
| 104 vector = NewTypeFeedbackVector(isolate, &spec); | 104 vector = NewTypeFeedbackVector(isolate, &spec); |
| 105 FeedbackVectorHelper helper(vector); | 105 FeedbackVectorHelper helper(vector); |
| 106 CHECK_EQ(1, TypeFeedbackMetadata::GetSlotSize( | 106 CHECK_EQ(1, TypeFeedbackMetadata::GetSlotSize( |
| 107 FeedbackVectorSlotKind::CREATE_CLOSURE)); | 107 FeedbackVectorSlotKind::CREATE_CLOSURE)); |
| 108 FeedbackVectorSlot slot = helper.slot(1); | 108 FeedbackVectorSlot slot = helper.slot(1); |
| 109 FixedArray* array = FixedArray::cast(vector->Get(slot)); | 109 FixedArray* array = FixedArray::cast(vector->Get(slot)); |
| 110 CHECK_EQ(array, *factory->empty_literals_array()); | 110 CHECK_EQ(array, *factory->empty_literals_array()); |
| 111 } | 111 } |
| 112 } | 112 } |
| (...skipping 484 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 597 // There should be one IC slot. | 597 // There should be one IC slot. |
| 598 Handle<TypeFeedbackVector> feedback_vector(f->feedback_vector()); | 598 Handle<TypeFeedbackVector> feedback_vector(f->feedback_vector()); |
| 599 FeedbackVectorHelper helper(feedback_vector); | 599 FeedbackVectorHelper helper(feedback_vector); |
| 600 CHECK_EQ(1, helper.slot_count()); | 600 CHECK_EQ(1, helper.slot_count()); |
| 601 FeedbackVectorSlot slot(0); | 601 FeedbackVectorSlot slot(0); |
| 602 StoreICNexus nexus(feedback_vector, slot); | 602 StoreICNexus nexus(feedback_vector, slot); |
| 603 CHECK_EQ(MONOMORPHIC, nexus.StateFromFeedback()); | 603 CHECK_EQ(MONOMORPHIC, nexus.StateFromFeedback()); |
| 604 } | 604 } |
| 605 | 605 |
| 606 } // namespace | 606 } // namespace |
| OLD | NEW |