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

Side by Side Diff: src/ia32/lithium-codegen-ia32.h

Issue 6708085: Enable GVN for polymorphic loads by not expanding them at the HIR level. (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
Patch Set: '' Created 9 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
OLDNEW
1 // Copyright 2011 the V8 project authors. All rights reserved. 1 // Copyright 2011 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 228 matching lines...) Expand 10 before | Expand all | Expand 10 after
239 Condition EmitIsObject(Register input, 239 Condition EmitIsObject(Register input,
240 Register temp1, 240 Register temp1,
241 Register temp2, 241 Register temp2,
242 Label* is_not_object, 242 Label* is_not_object,
243 Label* is_object); 243 Label* is_object);
244 244
245 // Emits optimized code for %_IsConstructCall(). 245 // Emits optimized code for %_IsConstructCall().
246 // Caller should branch on equal condition. 246 // Caller should branch on equal condition.
247 void EmitIsConstructCall(Register temp); 247 void EmitIsConstructCall(Register temp);
248 248
249 void EmitLoadField(Register result,
250 Register object,
251 Handle<Map> type,
252 Handle<String> name);
249 253
250 LChunk* const chunk_; 254 LChunk* const chunk_;
251 MacroAssembler* const masm_; 255 MacroAssembler* const masm_;
252 CompilationInfo* const info_; 256 CompilationInfo* const info_;
253 257
254 int current_block_; 258 int current_block_;
255 int current_instruction_; 259 int current_instruction_;
256 const ZoneList<LInstruction*>* instructions_; 260 const ZoneList<LInstruction*>* instructions_;
257 ZoneList<LEnvironment*> deoptimizations_; 261 ZoneList<LEnvironment*> deoptimizations_;
258 ZoneList<Handle<Object> > deoptimization_literals_; 262 ZoneList<Handle<Object> > deoptimization_literals_;
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
305 private: 309 private:
306 LCodeGen* codegen_; 310 LCodeGen* codegen_;
307 Label entry_; 311 Label entry_;
308 Label exit_; 312 Label exit_;
309 Label* external_exit_; 313 Label* external_exit_;
310 }; 314 };
311 315
312 } } // namespace v8::internal 316 } } // namespace v8::internal
313 317
314 #endif // V8_IA32_LITHIUM_CODEGEN_IA32_H_ 318 #endif // V8_IA32_LITHIUM_CODEGEN_IA32_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698