| OLD | NEW |
| 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 #include "vm/object.h" | 5 #include "vm/object.h" |
| 6 | 6 |
| 7 #include "include/dart_api.h" | 7 #include "include/dart_api.h" |
| 8 #include "platform/assert.h" | 8 #include "platform/assert.h" |
| 9 #include "vm/assembler.h" | 9 #include "vm/assembler.h" |
| 10 #include "vm/cpu.h" | 10 #include "vm/cpu.h" |
| (...skipping 13316 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 13327 INC_STAT(Thread::Current(), total_code_size, assembler->CodeSize()); | 13327 INC_STAT(Thread::Current(), total_code_size, assembler->CodeSize()); |
| 13328 | 13328 |
| 13329 // Copy the instructions into the instruction area and apply all fixups. | 13329 // Copy the instructions into the instruction area and apply all fixups. |
| 13330 // Embedded pointers are still in handles at this point. | 13330 // Embedded pointers are still in handles at this point. |
| 13331 MemoryRegion region(reinterpret_cast<void*>(instrs.EntryPoint()), | 13331 MemoryRegion region(reinterpret_cast<void*>(instrs.EntryPoint()), |
| 13332 instrs.size()); | 13332 instrs.size()); |
| 13333 assembler->FinalizeInstructions(region); | 13333 assembler->FinalizeInstructions(region); |
| 13334 VerifiedMemory::Accept(region.start(), region.size()); | 13334 VerifiedMemory::Accept(region.start(), region.size()); |
| 13335 CPU::FlushICache(instrs.EntryPoint(), instrs.size()); | 13335 CPU::FlushICache(instrs.EntryPoint(), instrs.size()); |
| 13336 | 13336 |
| 13337 code.set_compile_timestamp(OS::GetCurrentTimeMicros()); | 13337 code.set_compile_timestamp(OS::GetCurrentTraceMicros()); |
| 13338 CodeObservers::NotifyAll(name, | 13338 CodeObservers::NotifyAll(name, |
| 13339 instrs.EntryPoint(), | 13339 instrs.EntryPoint(), |
| 13340 assembler->prologue_offset(), | 13340 assembler->prologue_offset(), |
| 13341 instrs.size(), | 13341 instrs.size(), |
| 13342 optimized); | 13342 optimized); |
| 13343 { | 13343 { |
| 13344 NoSafepointScope no_safepoint; | 13344 NoSafepointScope no_safepoint; |
| 13345 const ZoneGrowableArray<intptr_t>& pointer_offsets = | 13345 const ZoneGrowableArray<intptr_t>& pointer_offsets = |
| 13346 assembler->GetPointerOffsets(); | 13346 assembler->GetPointerOffsets(); |
| 13347 ASSERT(pointer_offsets.length() == pointer_offset_count); | 13347 ASSERT(pointer_offsets.length() == pointer_offset_count); |
| (...skipping 8574 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 21922 return tag_label.ToCString(); | 21922 return tag_label.ToCString(); |
| 21923 } | 21923 } |
| 21924 | 21924 |
| 21925 | 21925 |
| 21926 void UserTag::PrintJSONImpl(JSONStream* stream, bool ref) const { | 21926 void UserTag::PrintJSONImpl(JSONStream* stream, bool ref) const { |
| 21927 Instance::PrintJSONImpl(stream, ref); | 21927 Instance::PrintJSONImpl(stream, ref); |
| 21928 } | 21928 } |
| 21929 | 21929 |
| 21930 | 21930 |
| 21931 } // namespace dart | 21931 } // namespace dart |
| OLD | NEW |