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/ic/ic.h" | 5 #include "src/ic/ic.h" |
6 | 6 |
7 #include "src/accessors.h" | 7 #include "src/accessors.h" |
8 #include "src/api.h" | 8 #include "src/api.h" |
9 #include "src/api-arguments.h" | 9 #include "src/api-arguments.h" |
10 #include "src/arguments.h" | 10 #include "src/arguments.h" |
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
119 JavaScriptFrame::PrintFunctionAndOffset(function, function->code(), pc(), | 119 JavaScriptFrame::PrintFunctionAndOffset(function, function->code(), pc(), |
120 stdout, true); | 120 stdout, true); |
121 } | 121 } |
122 | 122 |
123 const char* modifier = ""; | 123 const char* modifier = ""; |
124 if (kind() == Code::KEYED_STORE_IC) { | 124 if (kind() == Code::KEYED_STORE_IC) { |
125 KeyedAccessStoreMode mode = | 125 KeyedAccessStoreMode mode = |
126 casted_nexus<KeyedStoreICNexus>()->GetKeyedAccessStoreMode(); | 126 casted_nexus<KeyedStoreICNexus>()->GetKeyedAccessStoreMode(); |
127 modifier = GetTransitionMarkModifier(mode); | 127 modifier = GetTransitionMarkModifier(mode); |
128 } | 128 } |
129 PrintF(" (%c->%c%s) ", TransitionMarkFromState(old_state), | 129 void* map = nullptr; |
130 TransitionMarkFromState(new_state), modifier); | 130 if (!receiver_map().is_null()) { |
| 131 map = reinterpret_cast<void*>(*receiver_map()); |
| 132 } |
| 133 PrintF(" (%c->%c%s) map=%p ", TransitionMarkFromState(old_state), |
| 134 TransitionMarkFromState(new_state), modifier, map); |
131 #ifdef OBJECT_PRINT | 135 #ifdef OBJECT_PRINT |
132 OFStream os(stdout); | 136 OFStream os(stdout); |
133 name->Print(os); | 137 name->Print(os); |
134 #else | 138 #else |
135 name->ShortPrint(stdout); | 139 name->ShortPrint(stdout); |
136 #endif | 140 #endif |
137 PrintF("]\n"); | 141 PrintF("]\n"); |
138 } | 142 } |
139 } | 143 } |
140 | 144 |
(...skipping 2793 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2934 DCHECK_EQ(FeedbackVectorSlotKind::KEYED_LOAD_IC, | 2938 DCHECK_EQ(FeedbackVectorSlotKind::KEYED_LOAD_IC, |
2935 vector->GetKind(vector_slot)); | 2939 vector->GetKind(vector_slot)); |
2936 KeyedLoadICNexus nexus(vector, vector_slot); | 2940 KeyedLoadICNexus nexus(vector, vector_slot); |
2937 KeyedLoadIC ic(IC::EXTRA_CALL_FRAME, isolate, &nexus); | 2941 KeyedLoadIC ic(IC::EXTRA_CALL_FRAME, isolate, &nexus); |
2938 ic.UpdateState(receiver, key); | 2942 ic.UpdateState(receiver, key); |
2939 RETURN_RESULT_OR_FAILURE(isolate, ic.Load(receiver, key)); | 2943 RETURN_RESULT_OR_FAILURE(isolate, ic.Load(receiver, key)); |
2940 } | 2944 } |
2941 } | 2945 } |
2942 } // namespace internal | 2946 } // namespace internal |
2943 } // namespace v8 | 2947 } // namespace v8 |
OLD | NEW |