OLD | NEW |
1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 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 690 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
701 } | 701 } |
702 | 702 |
703 | 703 |
704 #define DEFINE_GET_CONSTANT(Name, name, htype, boolean_value) \ | 704 #define DEFINE_GET_CONSTANT(Name, name, htype, boolean_value) \ |
705 HConstant* HGraph::GetConstant##Name() { \ | 705 HConstant* HGraph::GetConstant##Name() { \ |
706 if (!constant_##name##_.is_set()) { \ | 706 if (!constant_##name##_.is_set()) { \ |
707 HConstant* constant = new(zone()) HConstant( \ | 707 HConstant* constant = new(zone()) HConstant( \ |
708 Unique<Object>::CreateImmovable(isolate()->factory()->name##_value()), \ | 708 Unique<Object>::CreateImmovable(isolate()->factory()->name##_value()), \ |
709 Representation::Tagged(), \ | 709 Representation::Tagged(), \ |
710 htype, \ | 710 htype, \ |
| 711 true, \ |
| 712 boolean_value, \ |
711 false, \ | 713 false, \ |
712 true, \ | 714 ODDBALL_TYPE); \ |
713 false, \ | |
714 boolean_value); \ | |
715 constant->InsertAfter(entry_block()->first()); \ | 715 constant->InsertAfter(entry_block()->first()); \ |
716 constant_##name##_.set(constant); \ | 716 constant_##name##_.set(constant); \ |
717 } \ | 717 } \ |
718 return ReinsertConstantIfNecessary(constant_##name##_.get()); \ | 718 return ReinsertConstantIfNecessary(constant_##name##_.get()); \ |
719 } | 719 } |
720 | 720 |
721 | 721 |
722 DEFINE_GET_CONSTANT(Undefined, undefined, HType::Tagged(), false) | 722 DEFINE_GET_CONSTANT(Undefined, undefined, HType::Tagged(), false) |
723 DEFINE_GET_CONSTANT(True, true, HType::Boolean(), true) | 723 DEFINE_GET_CONSTANT(True, true, HType::Boolean(), true) |
724 DEFINE_GET_CONSTANT(False, false, HType::Boolean(), false) | 724 DEFINE_GET_CONSTANT(False, false, HType::Boolean(), false) |
(...skipping 10567 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
11292 if (ShouldProduceTraceOutput()) { | 11292 if (ShouldProduceTraceOutput()) { |
11293 isolate()->GetHTracer()->TraceHydrogen(name(), graph_); | 11293 isolate()->GetHTracer()->TraceHydrogen(name(), graph_); |
11294 } | 11294 } |
11295 | 11295 |
11296 #ifdef DEBUG | 11296 #ifdef DEBUG |
11297 graph_->Verify(false); // No full verify. | 11297 graph_->Verify(false); // No full verify. |
11298 #endif | 11298 #endif |
11299 } | 11299 } |
11300 | 11300 |
11301 } } // namespace v8::internal | 11301 } } // namespace v8::internal |
OLD | NEW |