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; |
} |