Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1)

Side by Side Diff: src/ic.cc

Issue 15735020: trace compare_nil_ic state in --trace-ic output (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 7 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « src/code-stubs.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 the V8 project authors. All rights reserved.
2 // Redistribution and use in source and binary forms, with or without 2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions are 3 // modification, are permitted provided that the following conditions are
4 // met: 4 // met:
5 // 5 //
6 // * Redistributions of source code must retain the above copyright 6 // * Redistributions of source code must retain the above copyright
7 // notice, this list of conditions and the following disclaimer. 7 // notice, this list of conditions and the following disclaimer.
8 // * Redistributions in binary form must reproduce the above 8 // * Redistributions in binary form must reproduce the above
9 // copyright notice, this list of conditions and the following 9 // copyright notice, this list of conditions and the following
10 // disclaimer in the documentation and/or other materials provided 10 // disclaimer in the documentation and/or other materials provided
(...skipping 2910 matching lines...) Expand 10 before | Expand all | Expand 10 after
2921 2921
2922 MaybeObject* CompareNilIC::CompareNil(Handle<Object> object) { 2922 MaybeObject* CompareNilIC::CompareNil(Handle<Object> object) {
2923 Code::ExtraICState extra_ic_state = target()->extended_extra_ic_state(); 2923 Code::ExtraICState extra_ic_state = target()->extended_extra_ic_state();
2924 2924
2925 CompareNilICStub stub(extra_ic_state); 2925 CompareNilICStub stub(extra_ic_state);
2926 2926
2927 // Extract the current supported types from the patched IC and calculate what 2927 // Extract the current supported types from the patched IC and calculate what
2928 // types must be supported as a result of the miss. 2928 // types must be supported as a result of the miss.
2929 bool already_monomorphic = stub.IsMonomorphic(); 2929 bool already_monomorphic = stub.IsMonomorphic();
2930 2930
2931 CompareNilICStub::Types old_types = stub.GetTypes();
2931 stub.Record(object); 2932 stub.Record(object);
2933 old_types.TraceTransition(stub.GetTypes());
2932 2934
2933 EqualityKind kind = stub.GetKind(); 2935 EqualityKind kind = stub.GetKind();
2934 NilValue nil = stub.GetNilValue(); 2936 NilValue nil = stub.GetNilValue();
2935 2937
2936 // Find or create the specialized stub to support the new set of types. 2938 // Find or create the specialized stub to support the new set of types.
2937 Handle<Code> code; 2939 Handle<Code> code;
2938 if (stub.IsMonomorphic()) { 2940 if (stub.IsMonomorphic()) {
2939 Handle<Map> monomorphic_map(already_monomorphic 2941 Handle<Map> monomorphic_map(already_monomorphic
2940 ? target()->FindFirstMap() 2942 ? target()->FindFirstMap()
2941 : HeapObject::cast(*object)->map()); 2943 : HeapObject::cast(*object)->map());
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
3002 #undef ADDR 3004 #undef ADDR
3003 }; 3005 };
3004 3006
3005 3007
3006 Address IC::AddressFromUtilityId(IC::UtilityId id) { 3008 Address IC::AddressFromUtilityId(IC::UtilityId id) {
3007 return IC_utilities[id]; 3009 return IC_utilities[id];
3008 } 3010 }
3009 3011
3010 3012
3011 } } // namespace v8::internal 3013 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « src/code-stubs.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698