| 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 1060 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1071 | 1071 |
| 1072 HConstant* header_size = | 1072 HConstant* header_size = |
| 1073 new(zone) HConstant(FixedArray::kHeaderSize, Representation::Integer32()); | 1073 new(zone) HConstant(FixedArray::kHeaderSize, Representation::Integer32()); |
| 1074 AddInstruction(header_size); | 1074 AddInstruction(header_size); |
| 1075 HValue* total_size = AddInstruction( | 1075 HValue* total_size = AddInstruction( |
| 1076 HAdd::New(zone, context, mul, header_size)); | 1076 HAdd::New(zone, context, mul, header_size)); |
| 1077 total_size->ChangeRepresentation(Representation::Integer32()); | 1077 total_size->ChangeRepresentation(Representation::Integer32()); |
| 1078 total_size->ClearFlag(HValue::kCanOverflow); | 1078 total_size->ClearFlag(HValue::kCanOverflow); |
| 1079 | 1079 |
| 1080 HAllocate::Flags flags = HAllocate::CAN_ALLOCATE_IN_NEW_SPACE; | 1080 HAllocate::Flags flags = HAllocate::CAN_ALLOCATE_IN_NEW_SPACE; |
| 1081 // TODO(hpayer): add support for old data space | 1081 if (FLAG_pretenure_literals) { |
| 1082 if (FLAG_pretenure_literals && !IsFastDoubleElementsKind(kind)) { | 1082 if (IsFastDoubleElementsKind(kind)) { |
| 1083 flags = static_cast<HAllocate::Flags>( | 1083 flags = static_cast<HAllocate::Flags>( |
| 1084 flags | HAllocate::CAN_ALLOCATE_IN_OLD_POINTER_SPACE); | 1084 flags | HAllocate::CAN_ALLOCATE_IN_OLD_DATA_SPACE); |
| 1085 } else { |
| 1086 flags = static_cast<HAllocate::Flags>( |
| 1087 flags | HAllocate::CAN_ALLOCATE_IN_OLD_POINTER_SPACE); |
| 1088 } |
| 1085 } | 1089 } |
| 1086 if (IsFastDoubleElementsKind(kind)) { | 1090 if (IsFastDoubleElementsKind(kind)) { |
| 1087 flags = static_cast<HAllocate::Flags>( | 1091 flags = static_cast<HAllocate::Flags>( |
| 1088 flags | HAllocate::ALLOCATE_DOUBLE_ALIGNED); | 1092 flags | HAllocate::ALLOCATE_DOUBLE_ALIGNED); |
| 1089 } | 1093 } |
| 1090 | 1094 |
| 1091 HValue* elements = | 1095 HValue* elements = |
| 1092 AddInstruction(new(zone) HAllocate(context, total_size, | 1096 AddInstruction(new(zone) HAllocate(context, total_size, |
| 1093 HType::JSArray(), flags)); | 1097 HType::JSArray(), flags)); |
| 1094 | 1098 |
| (...skipping 9854 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 10949 } | 10953 } |
| 10950 } | 10954 } |
| 10951 | 10955 |
| 10952 #ifdef DEBUG | 10956 #ifdef DEBUG |
| 10953 if (graph_ != NULL) graph_->Verify(false); // No full verify. | 10957 if (graph_ != NULL) graph_->Verify(false); // No full verify. |
| 10954 if (allocator_ != NULL) allocator_->Verify(); | 10958 if (allocator_ != NULL) allocator_->Verify(); |
| 10955 #endif | 10959 #endif |
| 10956 } | 10960 } |
| 10957 | 10961 |
| 10958 } } // namespace v8::internal | 10962 } } // namespace v8::internal |
| OLD | NEW |