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/v8.h" | 5 #include "src/v8.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/arguments.h" | 9 #include "src/arguments.h" |
10 #include "src/base/bits.h" | 10 #include "src/base/bits.h" |
(...skipping 2539 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2550 target = stub.GetCodeCopyFromTemplate(allocation_site); | 2550 target = stub.GetCodeCopyFromTemplate(allocation_site); |
2551 | 2551 |
2552 // Sanity check the trampoline stub. | 2552 // Sanity check the trampoline stub. |
2553 DCHECK_EQ(*allocation_site, target->FindFirstAllocationSite()); | 2553 DCHECK_EQ(*allocation_site, target->FindFirstAllocationSite()); |
2554 } else { | 2554 } else { |
2555 // Install the generic stub. | 2555 // Install the generic stub. |
2556 BinaryOpICStub stub(isolate(), state); | 2556 BinaryOpICStub stub(isolate(), state); |
2557 target = stub.GetCode(); | 2557 target = stub.GetCode(); |
2558 | 2558 |
2559 // Sanity check the generic stub. | 2559 // Sanity check the generic stub. |
2560 DCHECK_EQ(NULL, target->FindFirstAllocationSite()); | 2560 DCHECK_NULL(target->FindFirstAllocationSite()); |
2561 } | 2561 } |
2562 set_target(*target); | 2562 set_target(*target); |
2563 | 2563 |
2564 if (FLAG_trace_ic) { | 2564 if (FLAG_trace_ic) { |
2565 OFStream os(stdout); | 2565 OFStream os(stdout); |
2566 os << "[BinaryOpIC" << old_state << " => " << state << " @ " | 2566 os << "[BinaryOpIC" << old_state << " => " << state << " @ " |
2567 << static_cast<void*>(*target) << " <- "; | 2567 << static_cast<void*>(*target) << " <- "; |
2568 JavaScriptFrame::PrintTop(isolate(), stdout, false, true); | 2568 JavaScriptFrame::PrintTop(isolate(), stdout, false, true); |
2569 if (!allocation_site.is_null()) { | 2569 if (!allocation_site.is_null()) { |
2570 os << " using allocation site " << static_cast<void*>(*allocation_site); | 2570 os << " using allocation site " << static_cast<void*>(*allocation_site); |
(...skipping 436 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3007 static const Address IC_utilities[] = { | 3007 static const Address IC_utilities[] = { |
3008 #define ADDR(name) FUNCTION_ADDR(name), | 3008 #define ADDR(name) FUNCTION_ADDR(name), |
3009 IC_UTIL_LIST(ADDR) NULL | 3009 IC_UTIL_LIST(ADDR) NULL |
3010 #undef ADDR | 3010 #undef ADDR |
3011 }; | 3011 }; |
3012 | 3012 |
3013 | 3013 |
3014 Address IC::AddressFromUtilityId(IC::UtilityId id) { return IC_utilities[id]; } | 3014 Address IC::AddressFromUtilityId(IC::UtilityId id) { return IC_utilities[id]; } |
3015 } | 3015 } |
3016 } // namespace v8::internal | 3016 } // namespace v8::internal |
OLD | NEW |