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/code-stubs.h" | 7 #include "src/code-stubs.h" |
8 #include "src/field-index.h" | 8 #include "src/field-index.h" |
9 #include "src/hydrogen.h" | 9 #include "src/hydrogen.h" |
10 #include "src/lithium.h" | 10 #include "src/lithium.h" |
(...skipping 887 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
898 } | 898 } |
899 | 899 |
900 | 900 |
901 Handle<Code> CompareNilICStub::GenerateCode() { | 901 Handle<Code> CompareNilICStub::GenerateCode() { |
902 return DoGenerateCode(this); | 902 return DoGenerateCode(this); |
903 } | 903 } |
904 | 904 |
905 | 905 |
906 template <> | 906 template <> |
907 HValue* CodeStubGraphBuilder<BinaryOpICStub>::BuildCodeInitializedStub() { | 907 HValue* CodeStubGraphBuilder<BinaryOpICStub>::BuildCodeInitializedStub() { |
908 BinaryOpIC::State state = casted_stub()->state(); | 908 BinaryOpICState state = casted_stub()->state(); |
909 | 909 |
910 HValue* left = GetParameter(BinaryOpICStub::kLeft); | 910 HValue* left = GetParameter(BinaryOpICStub::kLeft); |
911 HValue* right = GetParameter(BinaryOpICStub::kRight); | 911 HValue* right = GetParameter(BinaryOpICStub::kRight); |
912 | 912 |
913 Type* left_type = state.GetLeftType(zone()); | 913 Type* left_type = state.GetLeftType(zone()); |
914 Type* right_type = state.GetRightType(zone()); | 914 Type* right_type = state.GetRightType(zone()); |
915 Type* result_type = state.GetResultType(zone()); | 915 Type* result_type = state.GetResultType(zone()); |
916 | 916 |
917 DCHECK(!left_type->Is(Type::None()) && !right_type->Is(Type::None()) && | 917 DCHECK(!left_type->Is(Type::None()) && !right_type->Is(Type::None()) && |
918 (state.HasSideEffects() || !result_type->Is(Type::None()))); | 918 (state.HasSideEffects() || !result_type->Is(Type::None()))); |
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
997 } | 997 } |
998 | 998 |
999 | 999 |
1000 Handle<Code> BinaryOpICStub::GenerateCode() { | 1000 Handle<Code> BinaryOpICStub::GenerateCode() { |
1001 return DoGenerateCode(this); | 1001 return DoGenerateCode(this); |
1002 } | 1002 } |
1003 | 1003 |
1004 | 1004 |
1005 template <> | 1005 template <> |
1006 HValue* CodeStubGraphBuilder<BinaryOpWithAllocationSiteStub>::BuildCodeStub() { | 1006 HValue* CodeStubGraphBuilder<BinaryOpWithAllocationSiteStub>::BuildCodeStub() { |
1007 BinaryOpIC::State state = casted_stub()->state(); | 1007 BinaryOpICState state = casted_stub()->state(); |
1008 | 1008 |
1009 HValue* allocation_site = GetParameter( | 1009 HValue* allocation_site = GetParameter( |
1010 BinaryOpWithAllocationSiteStub::kAllocationSite); | 1010 BinaryOpWithAllocationSiteStub::kAllocationSite); |
1011 HValue* left = GetParameter(BinaryOpWithAllocationSiteStub::kLeft); | 1011 HValue* left = GetParameter(BinaryOpWithAllocationSiteStub::kLeft); |
1012 HValue* right = GetParameter(BinaryOpWithAllocationSiteStub::kRight); | 1012 HValue* right = GetParameter(BinaryOpWithAllocationSiteStub::kRight); |
1013 | 1013 |
1014 Type* left_type = state.GetLeftType(zone()); | 1014 Type* left_type = state.GetLeftType(zone()); |
1015 Type* right_type = state.GetRightType(zone()); | 1015 Type* right_type = state.GetRightType(zone()); |
1016 Type* result_type = state.GetResultType(zone()); | 1016 Type* result_type = state.GetResultType(zone()); |
1017 HAllocationMode allocation_mode(allocation_site); | 1017 HAllocationMode allocation_mode(allocation_site); |
(...skipping 805 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1823 | 1823 |
1824 // Probe the stub cache. | 1824 // Probe the stub cache. |
1825 Code::Flags flags = Code::RemoveTypeAndHolderFromFlags( | 1825 Code::Flags flags = Code::RemoveTypeAndHolderFromFlags( |
1826 Code::ComputeHandlerFlags(Code::LOAD_IC)); | 1826 Code::ComputeHandlerFlags(Code::LOAD_IC)); |
1827 Add<HTailCallThroughMegamorphicCache>(receiver, name, flags); | 1827 Add<HTailCallThroughMegamorphicCache>(receiver, name, flags); |
1828 | 1828 |
1829 // We never continue. | 1829 // We never continue. |
1830 return graph()->GetConstant0(); | 1830 return graph()->GetConstant0(); |
1831 } | 1831 } |
1832 } } // namespace v8::internal | 1832 } } // namespace v8::internal |
OLD | NEW |