OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 4564 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4575 HInstruction* map = AddInstruction(new(zone()) HForInPrepareMap( | 4575 HInstruction* map = AddInstruction(new(zone()) HForInPrepareMap( |
4576 environment()->LookupContext(), enumerable)); | 4576 environment()->LookupContext(), enumerable)); |
4577 AddSimulate(stmt->PrepareId()); | 4577 AddSimulate(stmt->PrepareId()); |
4578 | 4578 |
4579 HInstruction* array = AddInstruction( | 4579 HInstruction* array = AddInstruction( |
4580 new(zone()) HForInCacheArray( | 4580 new(zone()) HForInCacheArray( |
4581 enumerable, | 4581 enumerable, |
4582 map, | 4582 map, |
4583 DescriptorArray::kEnumCacheBridgeCacheIndex)); | 4583 DescriptorArray::kEnumCacheBridgeCacheIndex)); |
4584 | 4584 |
4585 HInstruction* array_length = AddInstruction( | 4585 HInstruction* enum_length = AddInstruction(new(zone()) HMapEnumLength(map)); |
4586 new(zone()) HFixedArrayBaseLength(array)); | |
4587 | 4586 |
4588 HInstruction* start_index = AddInstruction(new(zone()) HConstant( | 4587 HInstruction* start_index = AddInstruction(new(zone()) HConstant( |
4589 Handle<Object>(Smi::FromInt(0)), Representation::Integer32())); | 4588 Handle<Object>(Smi::FromInt(0)), Representation::Integer32())); |
4590 | 4589 |
4591 Push(map); | 4590 Push(map); |
4592 Push(array); | 4591 Push(array); |
4593 Push(array_length); | 4592 Push(enum_length); |
4594 Push(start_index); | 4593 Push(start_index); |
4595 | 4594 |
4596 HInstruction* index_cache = AddInstruction( | 4595 HInstruction* index_cache = AddInstruction( |
4597 new(zone()) HForInCacheArray( | 4596 new(zone()) HForInCacheArray( |
4598 enumerable, | 4597 enumerable, |
4599 map, | 4598 map, |
4600 DescriptorArray::kEnumCacheBridgeIndicesCacheIndex)); | 4599 DescriptorArray::kEnumCacheBridgeIndicesCacheIndex)); |
4601 HForInCacheArray::cast(array)->set_index_cache( | 4600 HForInCacheArray::cast(array)->set_index_cache( |
4602 HForInCacheArray::cast(index_cache)); | 4601 HForInCacheArray::cast(index_cache)); |
4603 | 4602 |
(...skipping 5365 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
9969 } | 9968 } |
9970 } | 9969 } |
9971 | 9970 |
9972 #ifdef DEBUG | 9971 #ifdef DEBUG |
9973 if (graph_ != NULL) graph_->Verify(false); // No full verify. | 9972 if (graph_ != NULL) graph_->Verify(false); // No full verify. |
9974 if (allocator_ != NULL) allocator_->Verify(); | 9973 if (allocator_ != NULL) allocator_->Verify(); |
9975 #endif | 9974 #endif |
9976 } | 9975 } |
9977 | 9976 |
9978 } } // namespace v8::internal | 9977 } } // namespace v8::internal |
OLD | NEW |