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 231 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
242 // If there is a getter, return; otherwise loop to perform the lookup. | 242 // If there is a getter, return; otherwise loop to perform the lookup. |
243 Handle<JSObject> holder = it->GetHolder<JSObject>(); | 243 Handle<JSObject> holder = it->GetHolder<JSObject>(); |
244 if (!holder->GetNamedInterceptor()->getter()->IsUndefined()) { | 244 if (!holder->GetNamedInterceptor()->getter()->IsUndefined()) { |
245 return; | 245 return; |
246 } | 246 } |
247 break; | 247 break; |
248 } | 248 } |
249 case LookupIterator::ACCESS_CHECK: | 249 case LookupIterator::ACCESS_CHECK: |
250 // PropertyHandlerCompiler::CheckPrototypes() knows how to emit | 250 // PropertyHandlerCompiler::CheckPrototypes() knows how to emit |
251 // access checks for global proxies. | 251 // access checks for global proxies. |
252 if (it->GetHolder<JSObject>()->IsJSGlobalProxy() && | 252 if (it->GetHolder<JSObject>()->IsJSGlobalProxy() && it->HasAccess()) { |
253 it->HasAccess(v8::ACCESS_GET)) { | |
254 break; | 253 break; |
255 } | 254 } |
256 return; | 255 return; |
257 case LookupIterator::ACCESSOR: | 256 case LookupIterator::ACCESSOR: |
258 case LookupIterator::DATA: | 257 case LookupIterator::DATA: |
259 return; | 258 return; |
260 } | 259 } |
261 } | 260 } |
262 } | 261 } |
263 | 262 |
(...skipping 2703 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2967 static const Address IC_utilities[] = { | 2966 static const Address IC_utilities[] = { |
2968 #define ADDR(name) FUNCTION_ADDR(name), | 2967 #define ADDR(name) FUNCTION_ADDR(name), |
2969 IC_UTIL_LIST(ADDR) NULL | 2968 IC_UTIL_LIST(ADDR) NULL |
2970 #undef ADDR | 2969 #undef ADDR |
2971 }; | 2970 }; |
2972 | 2971 |
2973 | 2972 |
2974 Address IC::AddressFromUtilityId(IC::UtilityId id) { return IC_utilities[id]; } | 2973 Address IC::AddressFromUtilityId(IC::UtilityId id) { return IC_utilities[id]; } |
2975 } | 2974 } |
2976 } // namespace v8::internal | 2975 } // namespace v8::internal |
OLD | NEW |