| 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 265 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 276 | 276 |
| 277 if (state() == MONOMORPHIC) { | 277 if (state() == MONOMORPHIC) { |
| 278 int index = ic_holder_map->IndexInCodeCache(*name, *target()); | 278 int index = ic_holder_map->IndexInCodeCache(*name, *target()); |
| 279 if (index >= 0) { | 279 if (index >= 0) { |
| 280 ic_holder_map->RemoveFromCodeCache(*name, *target(), index); | 280 ic_holder_map->RemoveFromCodeCache(*name, *target(), index); |
| 281 } | 281 } |
| 282 } | 282 } |
| 283 | 283 |
| 284 if (receiver->IsGlobalObject()) { | 284 if (receiver->IsGlobalObject()) { |
| 285 Handle<GlobalObject> global = Handle<GlobalObject>::cast(receiver); | 285 Handle<GlobalObject> global = Handle<GlobalObject>::cast(receiver); |
| 286 LookupIterator it(global, name, LookupIterator::OWN_PROPERTY); | 286 LookupIterator it(global, name, LookupIterator::OWN_SKIP_INTERCEPTOR); |
| 287 if (it.state() == LookupIterator::ACCESS_CHECK) return false; |
| 287 if (!it.IsFound() || !it.HasProperty()) return false; | 288 if (!it.IsFound() || !it.HasProperty()) return false; |
| 288 Handle<PropertyCell> cell = it.GetPropertyCell(); | 289 Handle<PropertyCell> cell = it.GetPropertyCell(); |
| 289 return cell->type()->IsConstant(); | 290 return cell->type()->IsConstant(); |
| 290 } | 291 } |
| 291 | 292 |
| 292 return true; | 293 return true; |
| 293 } | 294 } |
| 294 | 295 |
| 295 | 296 |
| 296 bool IC::IsNameCompatibleWithPrototypeFailure(Handle<Object> name) { | 297 bool IC::IsNameCompatibleWithPrototypeFailure(Handle<Object> name) { |
| (...skipping 2901 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3198 static const Address IC_utilities[] = { | 3199 static const Address IC_utilities[] = { |
| 3199 #define ADDR(name) FUNCTION_ADDR(name), | 3200 #define ADDR(name) FUNCTION_ADDR(name), |
| 3200 IC_UTIL_LIST(ADDR) NULL | 3201 IC_UTIL_LIST(ADDR) NULL |
| 3201 #undef ADDR | 3202 #undef ADDR |
| 3202 }; | 3203 }; |
| 3203 | 3204 |
| 3204 | 3205 |
| 3205 Address IC::AddressFromUtilityId(IC::UtilityId id) { return IC_utilities[id]; } | 3206 Address IC::AddressFromUtilityId(IC::UtilityId id) { return IC_utilities[id]; } |
| 3206 } | 3207 } |
| 3207 } // namespace v8::internal | 3208 } // namespace v8::internal |
| OLD | NEW |