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

Side by Side Diff: src/arm/ic-arm.cc

Issue 5763004: Second attempt: Improve our type feedback by recogizining never-executed IC c... (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
Patch Set: '' Created 10 years 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 | « no previous file | src/full-codegen.h » ('j') | src/ia32/ic-ia32.cc » ('J')
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2006-2008 the V8 project authors. All rights reserved. 1 // Copyright 2006-2008 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 2342 matching lines...) Expand 10 before | Expand all | Expand 10 after
2353 default: 2353 default:
2354 UNREACHABLE(); 2354 UNREACHABLE();
2355 return no_condition; 2355 return no_condition;
2356 } 2356 }
2357 } 2357 }
2358 2358
2359 2359
2360 void CompareIC::UpdateCaches(Handle<Object> x, Handle<Object> y) { 2360 void CompareIC::UpdateCaches(Handle<Object> x, Handle<Object> y) {
2361 HandleScope scope; 2361 HandleScope scope;
2362 Handle<Code> rewritten; 2362 Handle<Code> rewritten;
2363 #ifdef DEBUG
2364 State previous_state = GetState(); 2363 State previous_state = GetState();
2365 #endif 2364 State state = TargetState(previous_state, false, x, y);
2366 State state = TargetState(x, y);
2367 if (state == GENERIC) { 2365 if (state == GENERIC) {
2368 CompareStub stub(GetCondition(), strict(), NO_COMPARE_FLAGS, r1, r0); 2366 CompareStub stub(GetCondition(), strict(), NO_COMPARE_FLAGS, r1, r0);
2369 rewritten = stub.GetCode(); 2367 rewritten = stub.GetCode();
2370 } else { 2368 } else {
2371 ICCompareStub stub(op_, state); 2369 ICCompareStub stub(op_, state);
2372 rewritten = stub.GetCode(); 2370 rewritten = stub.GetCode();
2373 } 2371 }
2374 set_target(*rewritten); 2372 set_target(*rewritten);
2375 2373
2376 #ifdef DEBUG 2374 #ifdef DEBUG
2377 if (FLAG_trace_ic) { 2375 if (FLAG_trace_ic) {
2378 PrintF("[CompareIC (%s->%s)#%s]\n", 2376 PrintF("[CompareIC (%s->%s)#%s]\n",
2379 GetStateName(previous_state), 2377 GetStateName(previous_state),
2380 GetStateName(state), 2378 GetStateName(state),
2381 Token::Name(op_)); 2379 Token::Name(op_));
2382 } 2380 }
2383 #endif 2381 #endif
2384 } 2382 }
2385 2383
2384
2385 void PatchInlinedSmiCode(Address address) {
2386 UNIMPLEMENTED();
2387 }
2388
2389
2386 } } // namespace v8::internal 2390 } } // namespace v8::internal
2387 2391
2388 #endif // V8_TARGET_ARCH_ARM 2392 #endif // V8_TARGET_ARCH_ARM
OLDNEW
« no previous file with comments | « no previous file | src/full-codegen.h » ('j') | src/ia32/ic-ia32.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698