Chromium Code Reviews| Index: src/lithium.cc |
| =================================================================== |
| --- src/lithium.cc (revision 13419) |
| +++ src/lithium.cc (working copy) |
| @@ -416,6 +416,11 @@ |
| Handle<Code> LChunk::Codegen(Code::Kind kind) { |
| MacroAssembler assembler(info()->isolate(), NULL, 0); |
| + if (info()->isolate()->logger()->is_code_event_handler_enabled()) { |
|
danno
2013/02/01 13:43:10
Other Logger APIs do "is_enabled" checking inside
|
| + void* line_info = |
|
danno
2013/02/01 13:43:10
This should be jit_handler_data
|
| + info()->isolate()->logger()->CodeStartLinePosInfoRecordEvent(); |
| + assembler.positions_recorder()->InitializeUserData(line_info); |
|
danno
2013/02/01 13:43:10
InitializeUserData should be InitializeJitHandlerD
|
| + } |
| LCodeGen generator(this, &assembler, info()); |
| MarkEmptyBlocks(); |
| @@ -429,6 +434,15 @@ |
| Handle<Code> code = |
| CodeGenerator::MakeCodeEpilogue(&assembler, flags, info()); |
| generator.FinishCode(code); |
| + |
| + if (info()->isolate()->logger()->is_code_event_handler_enabled()) { |
| + if (!code.is_null()) { |
| + void* line_info = |
| + assembler.positions_recorder()->DetachJITLineInfo(); |
| + LOG_CODE_EVENT(info()->isolate(), |
| + CodeEndLinePosInfoRecordEvent(*code, line_info)); |
|
danno
2013/02/01 13:43:10
line_info -> jit_handler_data
|
| + } |
| + } |
| CodeGenerator::PrintCode(code, info()); |
| return code; |
| } |