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 387 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
398 | 398 |
399 void LStoreKeyed::PrintDataTo(StringStream* stream) { | 399 void LStoreKeyed::PrintDataTo(StringStream* stream) { |
400 elements()->PrintTo(stream); | 400 elements()->PrintTo(stream); |
401 stream->Add("["); | 401 stream->Add("["); |
402 key()->PrintTo(stream); | 402 key()->PrintTo(stream); |
403 if (hydrogen()->IsDehoisted()) { | 403 if (hydrogen()->IsDehoisted()) { |
404 stream->Add(" + %d] <-", additional_index()); | 404 stream->Add(" + %d] <-", additional_index()); |
405 } else { | 405 } else { |
406 stream->Add("] <- "); | 406 stream->Add("] <- "); |
407 } | 407 } |
408 value()->PrintTo(stream); | 408 |
| 409 if (value() == NULL) { |
| 410 ASSERT(hydrogen()->IsConstantHoleStore() && |
| 411 hydrogen()->value()->representation().IsDouble()); |
| 412 stream->Add("<the hole(nan)>"); |
| 413 } else { |
| 414 value()->PrintTo(stream); |
| 415 } |
409 } | 416 } |
410 | 417 |
411 | 418 |
412 void LStoreKeyedGeneric::PrintDataTo(StringStream* stream) { | 419 void LStoreKeyedGeneric::PrintDataTo(StringStream* stream) { |
413 object()->PrintTo(stream); | 420 object()->PrintTo(stream); |
414 stream->Add("["); | 421 stream->Add("["); |
415 key()->PrintTo(stream); | 422 key()->PrintTo(stream); |
416 stream->Add("] <- "); | 423 stream->Add("] <- "); |
417 value()->PrintTo(stream); | 424 value()->PrintTo(stream); |
418 } | 425 } |
(...skipping 2205 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2624 | 2631 |
2625 | 2632 |
2626 LInstruction* LChunkBuilder::DoLoadFieldByIndex(HLoadFieldByIndex* instr) { | 2633 LInstruction* LChunkBuilder::DoLoadFieldByIndex(HLoadFieldByIndex* instr) { |
2627 LOperand* object = UseRegister(instr->object()); | 2634 LOperand* object = UseRegister(instr->object()); |
2628 LOperand* index = UseRegister(instr->index()); | 2635 LOperand* index = UseRegister(instr->index()); |
2629 return DefineAsRegister(new(zone()) LLoadFieldByIndex(object, index)); | 2636 return DefineAsRegister(new(zone()) LLoadFieldByIndex(object, index)); |
2630 } | 2637 } |
2631 | 2638 |
2632 | 2639 |
2633 } } // namespace v8::internal | 2640 } } // namespace v8::internal |
OLD | NEW |