| Index: src/arm/simulator-arm.cc
|
| diff --git a/src/arm/simulator-arm.cc b/src/arm/simulator-arm.cc
|
| index 60a5e806bee2fca1c0bd5d6b9192f2acc6299761..71b8277aa05bee4be95873d7cc657764bfe7322a 100644
|
| --- a/src/arm/simulator-arm.cc
|
| +++ b/src/arm/simulator-arm.cc
|
| @@ -74,11 +74,17 @@ static FILE* coverage_log = NULL;
|
|
|
| static void InitializeCoverage() {
|
| char* file_name = getenv("V8_GENERATED_CODE_COVERAGE_LOG");
|
| - if (file_name != NULL) {
|
| + if (file_name != NULL && NULL == coverage_log) {
|
| coverage_log = fopen(file_name, "aw+");
|
| }
|
| }
|
|
|
| +static void DeinitCoverageLog() {
|
| + if (coverage_log != NULL) {
|
| + fclose(coverage_log);
|
| + coverage_log = NULL;
|
| + }
|
| +}
|
|
|
| void ArmDebugger::Stop(Instruction* instr) {
|
| // Get the stop code.
|
| @@ -110,7 +116,8 @@ void ArmDebugger::Stop(Instruction* instr) {
|
|
|
| static void InitializeCoverage() {
|
| }
|
| -
|
| +static void DeinitCoverageLog() {
|
| +}
|
|
|
| void ArmDebugger::Stop(Instruction* instr) {
|
| // Get the stop code.
|
| @@ -775,6 +782,7 @@ Simulator::Simulator(Isolate* isolate) : isolate_(isolate) {
|
|
|
|
|
| Simulator::~Simulator() {
|
| + DeinitCoverageLog();
|
| }
|
|
|
|
|
|
|