| OLD | NEW |
| (Empty) |
| 1 // Copyright (c) 2015, the Dartino project authors. Please see the AUTHORS file | |
| 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.md file. | |
| 4 | |
| 5 #include "src/vm/fletch_relocation_api_impl.h" | |
| 6 #include "src/vm/object_memory.h" | |
| 7 #include "src/vm/program.h" | |
| 8 #include "src/vm/program_info_block.h" | |
| 9 #include "src/vm/program_relocator.h" | |
| 10 | |
| 11 size_t FletchGetProgramSize(FletchProgram program) { | |
| 12 fletch::Program* fletch_program = reinterpret_cast<fletch::Program*>(program); | |
| 13 return fletch_program->program_heap_size() + sizeof(fletch::ProgramInfoBlock); | |
| 14 } | |
| 15 | |
| 16 int FletchRelocateProgram(FletchProgram program, void* target, uintptr_t base) { | |
| 17 if (base % fletch::kPageSize != 0) return -1; | |
| 18 fletch::Program* fletch_program = reinterpret_cast<fletch::Program*>(program); | |
| 19 fletch::ProgramHeapRelocator relocator( | |
| 20 fletch_program, reinterpret_cast<uint8*>(target), base); | |
| 21 return relocator.Relocate(); | |
| 22 } | |
| OLD | NEW |