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

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

Issue 7669: Incomplete change for inlining more smi cases for (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
Patch Set: '' Created 12 years, 2 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 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 269 matching lines...) Expand 10 before | Expand all | Expand 10 after
280 // expressions. We are not allowed to throw reference errors for 280 // expressions. We are not allowed to throw reference errors for
281 // non-existing properties of the global object, so we must make it 281 // non-existing properties of the global object, so we must make it
282 // look like an explicit property access, instead of an access 282 // look like an explicit property access, instead of an access
283 // through the context chain. 283 // through the context chain.
284 void LoadTypeofExpression(Expression* x); 284 void LoadTypeofExpression(Expression* x);
285 285
286 void ToBoolean(Label* true_target, Label* false_target); 286 void ToBoolean(Label* true_target, Label* false_target);
287 287
288 void GenericBinaryOperation(Token::Value op, 288 void GenericBinaryOperation(Token::Value op,
289 const OverwriteMode overwrite_mode = NO_OVERWRITE); 289 const OverwriteMode overwrite_mode = NO_OVERWRITE);
290
290 void Comparison(Condition cc, bool strict = false); 291 void Comparison(Condition cc, bool strict = false);
291 292
292 // Inline small integer literals. To prevent long attacker-controlled byte 293 // Inline small integer literals. To prevent long attacker-controlled byte
293 // sequences, we only inline small Smi:s. 294 // sequences, we only inline small Smis.
294 static const int kMaxSmiInlinedBits = 16; 295 static const int kMaxSmiInlinedBits = 16;
295 bool IsInlineSmi(Literal* literal); 296 bool IsInlineSmi(Literal* literal);
296 void SmiComparison(Condition cc, Handle<Object> value, bool strict = false); 297 void SmiComparison(Condition cc, Handle<Object> value, bool strict = false);
297 void SmiOperation(Token::Value op, 298 void SmiOperation(Token::Value op,
298 Handle<Object> value, 299 Handle<Object> value,
299 bool reversed, 300 bool reversed,
300 OverwriteMode overwrite_mode); 301 OverwriteMode overwrite_mode);
301 302
302 void CallWithArguments(ZoneList<Expression*>* arguments, int position); 303 void CallWithArguments(ZoneList<Expression*>* arguments, int position);
303 304
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after
413 friend class VirtualFrame; 414 friend class VirtualFrame;
414 friend class Reference; 415 friend class Reference;
415 416
416 DISALLOW_COPY_AND_ASSIGN(CodeGenerator); 417 DISALLOW_COPY_AND_ASSIGN(CodeGenerator);
417 }; 418 };
418 419
419 420
420 } } // namespace v8::internal 421 } } // namespace v8::internal
421 422
422 #endif // V8_CODEGEN_IA32_H_ 423 #endif // V8_CODEGEN_IA32_H_
OLDNEW
« no previous file with comments | « src/assembler-ia32.cc ('k') | src/codegen-ia32.cc » ('j') | src/codegen-ia32.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698