Reviewers: Vyacheslav Egorov,
Description:
Print compare-state with --print-code-stubs.
[email protected]
Please review this at https://chromiumcodereview.appspot.com/10235006/
SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge
Affected files:
M src/code-stubs.cc
M src/objects.cc
Index: src/code-stubs.cc
diff --git a/src/code-stubs.cc b/src/code-stubs.cc
index
11016c823875e2cc4736a5f5d4c848e0671ec8ef..03604c513aa2193ea2238f49be9209aa2a0e3c2d
100644
--- a/src/code-stubs.cc
+++ b/src/code-stubs.cc
@@ -81,13 +81,6 @@ void CodeStub::RecordCodeGeneration(Code* code,
MacroAssembler* masm) {
GDBJIT(AddCode(GDBJITInterface::STUB, *name, code));
Counters* counters = isolate->counters();
counters->total_stubs_code_size()->Increment(code->instruction_size());
-
-#ifdef ENABLE_DISASSEMBLER
- if (FLAG_print_code_stubs) {
- code->Disassemble(*name);
- PrintF("\n");
- }
-#endif
}
@@ -128,6 +121,13 @@ Handle<Code> CodeStub::GetCode() {
RecordCodeGeneration(*new_object, &masm);
FinishCode(new_object);
+#ifdef ENABLE_DISASSEMBLER
+ if (FLAG_print_code_stubs) {
+ new_object->Disassemble(*GetName());
+ PrintF("\n");
+ }
+#endif
+
if (UseSpecialCache()) {
AddToSpecialCache(new_object);
} else {
Index: src/objects.cc
diff --git a/src/objects.cc b/src/objects.cc
index
41f2ab6d8823f2e85ee1ec636e0016a495273fa6..96b42286e88f03c1772e204d04497c22f38456ab
100644
--- a/src/objects.cc
+++ b/src/objects.cc
@@ -8375,6 +8375,10 @@ void Code::Disassemble(const char* name, FILE* out) {
if (is_call_stub() || is_keyed_call_stub()) {
PrintF(out, "argc = %d\n", arguments_count());
}
+ if (is_compare_ic_stub()) {
+ CompareIC::State state = CompareIC::ComputeState(this);
+ PrintF(out, "compare_state = %s\n", CompareIC::GetStateName(state));
+ }
}
if ((name != NULL) && (name[0] != '\0')) {
PrintF(out, "name = %s\n", name);
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev