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

Side by Side Diff: src/codegen-ia32.cc

Issue 42565: Remove register counts from VirtualFrame, use register indices instead. (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
Patch Set: '' Created 11 years, 9 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 | « no previous file | src/jump-target.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2006-2009 the V8 project authors. All rights reserved. 1 // Copyright 2006-2009 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 5145 matching lines...) Expand 10 before | Expand all | Expand 10 after
5156 UNREACHABLE(); 5156 UNREACHABLE();
5157 } 5157 }
5158 Load(left); 5158 Load(left);
5159 Load(right); 5159 Load(right);
5160 Comparison(cc, strict, destination()); 5160 Comparison(cc, strict, destination());
5161 } 5161 }
5162 5162
5163 5163
5164 #ifdef DEBUG 5164 #ifdef DEBUG
5165 bool CodeGenerator::HasValidEntryRegisters() { 5165 bool CodeGenerator::HasValidEntryRegisters() {
5166 return (allocator()->count(eax) == frame()->register_count(eax)) 5166 return (allocator()->count(eax) == (frame()->is_used(eax) ? 1 : 0))
5167 && (allocator()->count(ebx) == frame()->register_count(ebx)) 5167 && (allocator()->count(ebx) == (frame()->is_used(ebx) ? 1 : 0))
5168 && (allocator()->count(ecx) == frame()->register_count(ecx)) 5168 && (allocator()->count(ecx) == (frame()->is_used(ecx) ? 1 : 0))
5169 && (allocator()->count(edx) == frame()->register_count(edx)) 5169 && (allocator()->count(edx) == (frame()->is_used(edx) ? 1 : 0))
5170 && (allocator()->count(edi) == frame()->register_count(edi)); 5170 && (allocator()->count(edi) == (frame()->is_used(edi) ? 1 : 0));
5171 } 5171 }
5172 #endif 5172 #endif
5173 5173
5174 5174
5175 class DeferredReferenceGetKeyedValue: public DeferredCode { 5175 class DeferredReferenceGetKeyedValue: public DeferredCode {
5176 public: 5176 public:
5177 DeferredReferenceGetKeyedValue(CodeGenerator* generator, bool is_global) 5177 DeferredReferenceGetKeyedValue(CodeGenerator* generator, bool is_global)
5178 : DeferredCode(generator), is_global_(is_global) { 5178 : DeferredCode(generator), is_global_(is_global) {
5179 set_comment("[ DeferredReferenceGetKeyedValue"); 5179 set_comment("[ DeferredReferenceGetKeyedValue");
5180 } 5180 }
(...skipping 1811 matching lines...) Expand 10 before | Expand all | Expand 10 after
6992 6992
6993 // Slow-case: Go through the JavaScript implementation. 6993 // Slow-case: Go through the JavaScript implementation.
6994 __ bind(&slow); 6994 __ bind(&slow);
6995 __ InvokeBuiltin(Builtins::INSTANCE_OF, JUMP_FUNCTION); 6995 __ InvokeBuiltin(Builtins::INSTANCE_OF, JUMP_FUNCTION);
6996 } 6996 }
6997 6997
6998 6998
6999 #undef __ 6999 #undef __
7000 7000
7001 } } // namespace v8::internal 7001 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « no previous file | src/jump-target.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698