OLD | NEW |
1 // Copyright 2006-2008 the V8 project authors. All rights reserved. | 1 // Copyright 2006-2008 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 818 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
829 Address address = external_reference_decoder_->Decode(reference_id); | 829 Address address = external_reference_decoder_->Decode(reference_id); |
830 Address location_of_branch_data = reinterpret_cast<Address>(current); | 830 Address location_of_branch_data = reinterpret_cast<Address>(current); |
831 Assembler::set_external_target_at(location_of_branch_data, address); | 831 Assembler::set_external_target_at(location_of_branch_data, address); |
832 location_of_branch_data += Assembler::kExternalTargetSize; | 832 location_of_branch_data += Assembler::kExternalTargetSize; |
833 current = reinterpret_cast<Object**>(location_of_branch_data); | 833 current = reinterpret_cast<Object**>(location_of_branch_data); |
834 break; | 834 break; |
835 } | 835 } |
836 case START_NEW_PAGE_SERIALIZATION: { | 836 case START_NEW_PAGE_SERIALIZATION: { |
837 int space = source_->Get(); | 837 int space = source_->Get(); |
838 pages_[space].Add(last_object_address_); | 838 pages_[space].Add(last_object_address_); |
| 839 if (space == CODE_SPACE) { |
| 840 CPU::FlushICache(last_object_address_, Page::kPageSize); |
| 841 } |
839 break; | 842 break; |
840 } | 843 } |
841 case NATIVES_STRING_RESOURCE: { | 844 case NATIVES_STRING_RESOURCE: { |
842 int index = source_->Get(); | 845 int index = source_->Get(); |
843 Vector<const char> source_vector = Natives::GetScriptSource(index); | 846 Vector<const char> source_vector = Natives::GetScriptSource(index); |
844 NativesExternalStringResource* resource = | 847 NativesExternalStringResource* resource = |
845 new NativesExternalStringResource(source_vector.start()); | 848 new NativesExternalStringResource(source_vector.start()); |
846 *current++ = reinterpret_cast<Object*>(resource); | 849 *current++ = reinterpret_cast<Object*>(resource); |
847 break; | 850 break; |
848 } | 851 } |
(...skipping 522 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1371 fullness_[space] = RoundUp(fullness_[space], Page::kPageSize); | 1374 fullness_[space] = RoundUp(fullness_[space], Page::kPageSize); |
1372 } | 1375 } |
1373 } | 1376 } |
1374 int allocation_address = fullness_[space]; | 1377 int allocation_address = fullness_[space]; |
1375 fullness_[space] = allocation_address + size; | 1378 fullness_[space] = allocation_address + size; |
1376 return allocation_address; | 1379 return allocation_address; |
1377 } | 1380 } |
1378 | 1381 |
1379 | 1382 |
1380 } } // namespace v8::internal | 1383 } } // namespace v8::internal |
OLD | NEW |