| 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 #ifndef V8_CRANKSHAFT_HYDROGEN_H_ | 5 #ifndef V8_CRANKSHAFT_HYDROGEN_H_ |
| 6 #define V8_CRANKSHAFT_HYDROGEN_H_ | 6 #define V8_CRANKSHAFT_HYDROGEN_H_ |
| 7 | 7 |
| 8 #include "src/accessors.h" | 8 #include "src/accessors.h" |
| 9 #include "src/allocation.h" | 9 #include "src/allocation.h" |
| 10 #include "src/ast/ast-type-bounds.h" | 10 #include "src/ast/ast-type-bounds.h" |
| (...skipping 2438 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2449 PropertyAccessInfo(HOptimizedGraphBuilder* builder, | 2449 PropertyAccessInfo(HOptimizedGraphBuilder* builder, |
| 2450 PropertyAccessType access_type, Handle<Map> map, | 2450 PropertyAccessType access_type, Handle<Map> map, |
| 2451 Handle<Name> name) | 2451 Handle<Name> name) |
| 2452 : builder_(builder), | 2452 : builder_(builder), |
| 2453 access_type_(access_type), | 2453 access_type_(access_type), |
| 2454 map_(map), | 2454 map_(map), |
| 2455 name_(isolate()->factory()->InternalizeName(name)), | 2455 name_(isolate()->factory()->InternalizeName(name)), |
| 2456 field_type_(HType::Tagged()), | 2456 field_type_(HType::Tagged()), |
| 2457 access_(HObjectAccess::ForMap()), | 2457 access_(HObjectAccess::ForMap()), |
| 2458 lookup_type_(NOT_FOUND), | 2458 lookup_type_(NOT_FOUND), |
| 2459 details_(NONE, DATA, Representation::None()) {} | 2459 details_(PropertyDetails::Empty()) {} |
| 2460 | 2460 |
| 2461 // Checkes whether this PropertyAccessInfo can be handled as a monomorphic | 2461 // Checkes whether this PropertyAccessInfo can be handled as a monomorphic |
| 2462 // load named. It additionally fills in the fields necessary to generate the | 2462 // load named. It additionally fills in the fields necessary to generate the |
| 2463 // lookup code. | 2463 // lookup code. |
| 2464 bool CanAccessMonomorphic(); | 2464 bool CanAccessMonomorphic(); |
| 2465 | 2465 |
| 2466 // Checks whether all types behave uniform when loading name. If all maps | 2466 // Checks whether all types behave uniform when loading name. If all maps |
| 2467 // behave the same, a single monomorphic load instruction can be emitted, | 2467 // behave the same, a single monomorphic load instruction can be emitted, |
| 2468 // guarded by a single map-checks instruction that whether the receiver is | 2468 // guarded by a single map-checks instruction that whether the receiver is |
| 2469 // an instance of any of the types. | 2469 // an instance of any of the types. |
| (...skipping 512 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2982 } | 2982 } |
| 2983 | 2983 |
| 2984 private: | 2984 private: |
| 2985 HOptimizedGraphBuilder* builder_; | 2985 HOptimizedGraphBuilder* builder_; |
| 2986 }; | 2986 }; |
| 2987 | 2987 |
| 2988 } // namespace internal | 2988 } // namespace internal |
| 2989 } // namespace v8 | 2989 } // namespace v8 |
| 2990 | 2990 |
| 2991 #endif // V8_CRANKSHAFT_HYDROGEN_H_ | 2991 #endif // V8_CRANKSHAFT_HYDROGEN_H_ |
| OLD | NEW |