Chromium Code Reviews| Index: runtime/vm/code_generator.cc |
| =================================================================== |
| --- runtime/vm/code_generator.cc (revision 1375) |
| +++ runtime/vm/code_generator.cc (working copy) |
| @@ -25,6 +25,7 @@ |
| DEFINE_FLAG(bool, trace_patching, false, "Trace patching of code."); |
| DEFINE_FLAG(bool, trace_runtime_calls, false, "Trace runtime calls."); |
| DECLARE_FLAG(int, deoptimization_counter_threshold); |
| +DECLARE_FLAG(bool, trace_type_checks); |
| const Array& CodeGenerator::ArgumentsDescriptor( |
| @@ -325,6 +326,16 @@ |
| const Bool& result = Bool::Handle( |
| instance.IsInstanceOf(type, type_instantiator) ? |
| Bool::True() : Bool::False()); |
| + if (FLAG_trace_type_checks) { |
| + Class& cls = Class::Handle(instance.clazz()); |
| + // TODO(regis): Remove once all classes finalized. |
| + if (cls.is_finalized()) { |
| + OS::Print("InstanceOf '%s' vs '%s'\n", |
|
regis
2011/11/10 03:09:51
You could use the result of the type test to print
srdjan
2011/11/10 17:24:41
Done.
|
| + String::Handle(Type::Handle(instance.GetType()).Name()). |
| + ToCString(), |
| + String::Handle(type.Name()).ToCString()); |
| + } |
| + } |
| arguments.SetReturn(result); |
| } |