Chromium Code Reviews| 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 1694 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1705 stream->Add("."); | 1705 stream->Add("."); | 
| 1706 stream->Add(*String::cast(*name())->ToCString()); | 1706 stream->Add(*String::cast(*name())->ToCString()); | 
| 1707 } | 1707 } | 
| 1708 | 1708 | 
| 1709 | 1709 | 
| 1710 void HLoadKeyedFastElement::PrintDataTo(StringStream* stream) { | 1710 void HLoadKeyedFastElement::PrintDataTo(StringStream* stream) { | 
| 1711 object()->PrintNameTo(stream); | 1711 object()->PrintNameTo(stream); | 
| 1712 stream->Add("["); | 1712 stream->Add("["); | 
| 1713 key()->PrintNameTo(stream); | 1713 key()->PrintNameTo(stream); | 
| 1714 stream->Add("]"); | 1714 stream->Add("]"); | 
| 1715 if (hole_check_mode_ == PERFORM_HOLE_CHECK) { | 1715 if (IsFastHoleyElementsKind(elements_kind())) { | 
| 
 
Michael Starzinger
2012/06/12 11:30:17
We could base the output of "check_hole" on the re
 
danno
2012/06/12 12:16:06
Done.
 
 | |
| 1716 stream->Add(" check_hole"); | 1716 stream->Add(" check_hole"); | 
| 1717 } | 1717 } | 
| 1718 } | 1718 } | 
| 1719 | 1719 | 
| 1720 | 1720 | 
| 1721 bool HLoadKeyedFastElement::RequiresHoleCheck() { | 1721 bool HLoadKeyedFastElement::RequiresHoleCheck() { | 
| 1722 if (hole_check_mode_ == OMIT_HOLE_CHECK) { | 1722 if (IsFastPackedElementsKind(elements_kind())) { | 
| 1723 return false; | 1723 return false; | 
| 1724 } | 1724 } | 
| 1725 | 1725 | 
| 1726 for (HUseIterator it(uses()); !it.Done(); it.Advance()) { | 1726 for (HUseIterator it(uses()); !it.Done(); it.Advance()) { | 
| 1727 HValue* use = it.value(); | 1727 HValue* use = it.value(); | 
| 1728 if (!use->IsChange()) return true; | 1728 if (!use->IsChange()) return true; | 
| 1729 } | 1729 } | 
| 1730 | 1730 | 
| 1731 return false; | 1731 return false; | 
| 1732 } | 1732 } | 
| (...skipping 25 matching lines...) Expand all Loading... | |
| 1758 HForInCacheArray* names_cache = | 1758 HForInCacheArray* names_cache = | 
| 1759 HForInCacheArray::cast(key_load->object()); | 1759 HForInCacheArray::cast(key_load->object()); | 
| 1760 | 1760 | 
| 1761 if (names_cache->enumerable() == object()) { | 1761 if (names_cache->enumerable() == object()) { | 
| 1762 HForInCacheArray* index_cache = | 1762 HForInCacheArray* index_cache = | 
| 1763 names_cache->index_cache(); | 1763 names_cache->index_cache(); | 
| 1764 HCheckMapValue* map_check = | 1764 HCheckMapValue* map_check = | 
| 1765 new(block()->zone()) HCheckMapValue(object(), names_cache->map()); | 1765 new(block()->zone()) HCheckMapValue(object(), names_cache->map()); | 
| 1766 HInstruction* index = new(block()->zone()) HLoadKeyedFastElement( | 1766 HInstruction* index = new(block()->zone()) HLoadKeyedFastElement( | 
| 1767 index_cache, | 1767 index_cache, | 
| 1768 key_load->key(), | 1768 key_load->key()); | 
| 1769 OMIT_HOLE_CHECK); | |
| 1770 map_check->InsertBefore(this); | 1769 map_check->InsertBefore(this); | 
| 1771 index->InsertBefore(this); | 1770 index->InsertBefore(this); | 
| 1772 HLoadFieldByIndex* load = new(block()->zone()) HLoadFieldByIndex( | 1771 HLoadFieldByIndex* load = new(block()->zone()) HLoadFieldByIndex( | 
| 1773 object(), index); | 1772 object(), index); | 
| 1774 load->InsertBefore(this); | 1773 load->InsertBefore(this); | 
| 1775 return load; | 1774 return load; | 
| 1776 } | 1775 } | 
| 1777 } | 1776 } | 
| 1778 } | 1777 } | 
| 1779 | 1778 | 
| (...skipping 698 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 2478 | 2477 | 
| 2479 | 2478 | 
| 2480 void HCheckPrototypeMaps::Verify() { | 2479 void HCheckPrototypeMaps::Verify() { | 
| 2481 HInstruction::Verify(); | 2480 HInstruction::Verify(); | 
| 2482 ASSERT(HasNoUses()); | 2481 ASSERT(HasNoUses()); | 
| 2483 } | 2482 } | 
| 2484 | 2483 | 
| 2485 #endif | 2484 #endif | 
| 2486 | 2485 | 
| 2487 } } // namespace v8::internal | 2486 } } // namespace v8::internal | 
| OLD | NEW |