[macruby-changes] [3410] MacRuby/trunk
source_changes at macosforge.org
source_changes at macosforge.org
Mon Feb 1 21:31:57 PST 2010
Revision: 3410
http://trac.macosforge.org/projects/ruby/changeset/3410
Author: lsansonetti at apple.com
Date: 2010-02-01 21:31:53 -0800 (Mon, 01 Feb 2010)
Log Message:
-----------
let's attach more metadata
Modified Paths:
--------------
MacRuby/trunk/compiler.cpp
MacRuby/trunk/compiler.h
Modified: MacRuby/trunk/compiler.cpp
===================================================================
--- MacRuby/trunk/compiler.cpp 2010-02-02 04:08:33 UTC (rev 3409)
+++ MacRuby/trunk/compiler.cpp 2010-02-02 05:31:53 UTC (rev 3410)
@@ -739,6 +739,16 @@
params.end(), "", bb);
}
+void
+RoxorCompiler::attach_current_line_metadata(Instruction *insn)
+{
+ if (fname != NULL) {
+ DILocation loc = debug_info->CreateLocation(current_line, 0,
+ debug_compile_unit, DILocation(NULL));
+ context.getMetadata().addMD(dbg_mdkind, loc.getNode(), insn);
+ }
+}
+
Value *
RoxorCompiler::compile_dispatch_call(std::vector<Value *> ¶ms)
{
@@ -759,11 +769,7 @@
}
Instruction *insn = compile_protected_call(dispatcherFunc, params);
- if (fname != NULL) {
- DILocation loc = debug_info->CreateLocation(current_line, 0,
- debug_compile_unit, DILocation(NULL));
- context.getMetadata().addMD(dbg_mdkind, loc.getNode(), insn);
- }
+ attach_current_line_metadata(insn);
return insn;
}
@@ -3962,7 +3968,10 @@
(flags & DEFINE_OUTER) && dynamic_class
? 1 : 0));
- classVal = compile_protected_call(defineClassFunc, params);
+ Instruction *insn
+ = compile_protected_call(defineClassFunc, params);
+ attach_current_line_metadata(insn);
+ classVal = insn;
}
NODE *body = node->nd_body;
@@ -4009,7 +4018,9 @@
std::vector<Value *> params;
params.push_back(classVal);
params.push_back(compile_const_pointer(NULL));
- val = compile_protected_call(f, params);
+ Instruction *insn = compile_protected_call(f, params);
+ attach_current_line_metadata(insn);
+ val = insn;
dynamic_class = old_dynamic_class;
compile_set_current_scope(classVal, defaultScope);
Modified: MacRuby/trunk/compiler.h
===================================================================
--- MacRuby/trunk/compiler.h 2010-02-02 04:08:33 UTC (rev 3409)
+++ MacRuby/trunk/compiler.h 2010-02-02 05:31:53 UTC (rev 3410)
@@ -356,6 +356,8 @@
void compile_keep_vars(BasicBlock *startBB, BasicBlock *mergeBB);
SEL mid_to_sel(ID mid, int arity);
+
+ void attach_current_line_metadata(Instruction *insn);
};
#define context (RoxorCompiler::module->getContext())
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macruby-changes/attachments/20100201/c76b9cbe/attachment.html>
More information about the macruby-changes
mailing list