OLD | NEW |
1 // Copyright 2009 the V8 project authors. All rights reserved. | 1 // Copyright 2009 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 1124 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1135 map->set_prototype(null_value()); | 1135 map->set_prototype(null_value()); |
1136 map->set_constructor(null_value()); | 1136 map->set_constructor(null_value()); |
1137 map->set_instance_size(instance_size); | 1137 map->set_instance_size(instance_size); |
1138 map->set_inobject_properties(0); | 1138 map->set_inobject_properties(0); |
1139 map->set_pre_allocated_property_fields(0); | 1139 map->set_pre_allocated_property_fields(0); |
1140 map->set_instance_descriptors(empty_descriptor_array()); | 1140 map->set_instance_descriptors(empty_descriptor_array()); |
1141 map->set_code_cache(empty_fixed_array()); | 1141 map->set_code_cache(empty_fixed_array()); |
1142 map->set_unused_property_fields(0); | 1142 map->set_unused_property_fields(0); |
1143 map->set_bit_field(0); | 1143 map->set_bit_field(0); |
1144 map->set_bit_field2(0); | 1144 map->set_bit_field2(0); |
| 1145 |
| 1146 // If the map object is aligned fill the padding area with Smi 0 objects. |
| 1147 if (Map::kPadStart < Map::kSize) { |
| 1148 memset(reinterpret_cast<byte*>(map) + Map::kPadStart - kHeapObjectTag, |
| 1149 0, |
| 1150 Map::kSize - Map::kPadStart); |
| 1151 } |
1145 return map; | 1152 return map; |
1146 } | 1153 } |
1147 | 1154 |
1148 | 1155 |
1149 const Heap::StringTypeTable Heap::string_type_table[] = { | 1156 const Heap::StringTypeTable Heap::string_type_table[] = { |
1150 #define STRING_TYPE_ELEMENT(type, size, name, camel_name) \ | 1157 #define STRING_TYPE_ELEMENT(type, size, name, camel_name) \ |
1151 {type, size, k##camel_name##MapRootIndex}, | 1158 {type, size, k##camel_name##MapRootIndex}, |
1152 STRING_TYPE_LIST(STRING_TYPE_ELEMENT) | 1159 STRING_TYPE_LIST(STRING_TYPE_ELEMENT) |
1153 #undef STRING_TYPE_ELEMENT | 1160 #undef STRING_TYPE_ELEMENT |
1154 }; | 1161 }; |
(...skipping 2917 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4072 void ExternalStringTable::TearDown() { | 4079 void ExternalStringTable::TearDown() { |
4073 new_space_strings_.Free(); | 4080 new_space_strings_.Free(); |
4074 old_space_strings_.Free(); | 4081 old_space_strings_.Free(); |
4075 } | 4082 } |
4076 | 4083 |
4077 | 4084 |
4078 List<Object*> ExternalStringTable::new_space_strings_; | 4085 List<Object*> ExternalStringTable::new_space_strings_; |
4079 List<Object*> ExternalStringTable::old_space_strings_; | 4086 List<Object*> ExternalStringTable::old_space_strings_; |
4080 | 4087 |
4081 } } // namespace v8::internal | 4088 } } // namespace v8::internal |
OLD | NEW |