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/codegen.h" | 10 #include "src/codegen.h" |
(...skipping 2942 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2953 stub.UpdateStatus(object); | 2953 stub.UpdateStatus(object); |
2954 | 2954 |
2955 NilValue nil = stub.GetNilValue(); | 2955 NilValue nil = stub.GetNilValue(); |
2956 | 2956 |
2957 // Find or create the specialized stub to support the new set of types. | 2957 // Find or create the specialized stub to support the new set of types. |
2958 Handle<Code> code; | 2958 Handle<Code> code; |
2959 if (stub.IsMonomorphic()) { | 2959 if (stub.IsMonomorphic()) { |
2960 Handle<Map> monomorphic_map(already_monomorphic && FirstTargetMap() != NULL | 2960 Handle<Map> monomorphic_map(already_monomorphic && FirstTargetMap() != NULL |
2961 ? FirstTargetMap() | 2961 ? FirstTargetMap() |
2962 : HeapObject::cast(*object)->map()); | 2962 : HeapObject::cast(*object)->map()); |
2963 code = isolate()->stub_cache()->ComputeCompareNil(monomorphic_map, stub); | 2963 code = isolate()->stub_cache()->ComputeCompareNil(monomorphic_map, &stub); |
2964 } else { | 2964 } else { |
2965 code = stub.GetCode(); | 2965 code = stub.GetCode(); |
2966 } | 2966 } |
2967 set_target(*code); | 2967 set_target(*code); |
2968 return DoCompareNilSlow(isolate(), nil, object); | 2968 return DoCompareNilSlow(isolate(), nil, object); |
2969 } | 2969 } |
2970 | 2970 |
2971 | 2971 |
2972 RUNTIME_FUNCTION(CompareNilIC_Miss) { | 2972 RUNTIME_FUNCTION(CompareNilIC_Miss) { |
2973 HandleScope scope(isolate); | 2973 HandleScope scope(isolate); |
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3050 #undef ADDR | 3050 #undef ADDR |
3051 }; | 3051 }; |
3052 | 3052 |
3053 | 3053 |
3054 Address IC::AddressFromUtilityId(IC::UtilityId id) { | 3054 Address IC::AddressFromUtilityId(IC::UtilityId id) { |
3055 return IC_utilities[id]; | 3055 return IC_utilities[id]; |
3056 } | 3056 } |
3057 | 3057 |
3058 | 3058 |
3059 } } // namespace v8::internal | 3059 } } // namespace v8::internal |
OLD | NEW |