| 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 23 matching lines...) Expand all  Loading... | 
|   34 TEST(VectorStructure) { |   34 TEST(VectorStructure) { | 
|   35   LocalContext context; |   35   LocalContext context; | 
|   36   v8::HandleScope scope(context->GetIsolate()); |   36   v8::HandleScope scope(context->GetIsolate()); | 
|   37   Isolate* isolate = CcTest::i_isolate(); |   37   Isolate* isolate = CcTest::i_isolate(); | 
|   38   Factory* factory = isolate->factory(); |   38   Factory* factory = isolate->factory(); | 
|   39   Zone zone(isolate->allocator()); |   39   Zone zone(isolate->allocator()); | 
|   40  |   40  | 
|   41   // Empty vectors are the empty fixed array. |   41   // Empty vectors are the empty fixed array. | 
|   42   StaticFeedbackVectorSpec empty; |   42   StaticFeedbackVectorSpec empty; | 
|   43   Handle<TypeFeedbackVector> vector = NewTypeFeedbackVector(isolate, &empty); |   43   Handle<TypeFeedbackVector> vector = NewTypeFeedbackVector(isolate, &empty); | 
|   44   CHECK(Handle<FixedArray>::cast(vector) |   44   CHECK(Handle<FixedArray>::cast(vector).is_identical_to( | 
|   45             .is_identical_to(factory->empty_fixed_array())); |   45       factory->empty_type_feedback_vector())); | 
|   46   // Which can nonetheless be queried. |   46   // Which can nonetheless be queried. | 
|   47   CHECK(vector->is_empty()); |   47   CHECK(vector->is_empty()); | 
|   48  |   48  | 
|   49   { |   49   { | 
|   50     FeedbackVectorSpec one_slot(&zone); |   50     FeedbackVectorSpec one_slot(&zone); | 
|   51     one_slot.AddGeneralSlot(); |   51     one_slot.AddGeneralSlot(); | 
|   52     vector = NewTypeFeedbackVector(isolate, &one_slot); |   52     vector = NewTypeFeedbackVector(isolate, &one_slot); | 
|   53     FeedbackVectorHelper helper(vector); |   53     FeedbackVectorHelper helper(vector); | 
|   54     CHECK_EQ(1, helper.slot_count()); |   54     CHECK_EQ(1, helper.slot_count()); | 
|   55   } |   55   } | 
| (...skipping 528 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  584   // There should be one IC slot. |  584   // There should be one IC slot. | 
|  585   Handle<TypeFeedbackVector> feedback_vector(f->feedback_vector()); |  585   Handle<TypeFeedbackVector> feedback_vector(f->feedback_vector()); | 
|  586   FeedbackVectorHelper helper(feedback_vector); |  586   FeedbackVectorHelper helper(feedback_vector); | 
|  587   CHECK_EQ(1, helper.slot_count()); |  587   CHECK_EQ(1, helper.slot_count()); | 
|  588   FeedbackVectorSlot slot(0); |  588   FeedbackVectorSlot slot(0); | 
|  589   StoreICNexus nexus(feedback_vector, slot); |  589   StoreICNexus nexus(feedback_vector, slot); | 
|  590   CHECK_EQ(MONOMORPHIC, nexus.StateFromFeedback()); |  590   CHECK_EQ(MONOMORPHIC, nexus.StateFromFeedback()); | 
|  591 } |  591 } | 
|  592  |  592  | 
|  593 }  // namespace |  593 }  // namespace | 
| OLD | NEW |