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

Side by Side Diff: src/hydrogen-instructions.h

Issue 22933006: Mark HStringCompareAndBranch as potentially causing GCs. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 7 years, 4 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 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 4063 matching lines...) Expand 10 before | Expand all | Expand 10 after
4074 HStringCompareAndBranch(HValue* context, 4074 HStringCompareAndBranch(HValue* context,
4075 HValue* left, 4075 HValue* left,
4076 HValue* right, 4076 HValue* right,
4077 Token::Value token) 4077 Token::Value token)
4078 : token_(token) { 4078 : token_(token) {
4079 ASSERT(Token::IsCompareOp(token)); 4079 ASSERT(Token::IsCompareOp(token));
4080 SetOperandAt(0, context); 4080 SetOperandAt(0, context);
4081 SetOperandAt(1, left); 4081 SetOperandAt(1, left);
4082 SetOperandAt(2, right); 4082 SetOperandAt(2, right);
4083 set_representation(Representation::Tagged()); 4083 set_representation(Representation::Tagged());
4084 SetGVNFlag(kChangesNewSpacePromotion);
4084 } 4085 }
4085 4086
4086 HValue* context() { return OperandAt(0); } 4087 HValue* context() { return OperandAt(0); }
4087 HValue* left() { return OperandAt(1); } 4088 HValue* left() { return OperandAt(1); }
4088 HValue* right() { return OperandAt(2); } 4089 HValue* right() { return OperandAt(2); }
4089 Token::Value token() const { return token_; } 4090 Token::Value token() const { return token_; }
4090 4091
4091 virtual void PrintDataTo(StringStream* stream); 4092 virtual void PrintDataTo(StringStream* stream);
4092 4093
4093 virtual Representation RequiredInputRepresentation(int index) { 4094 virtual Representation RequiredInputRepresentation(int index) {
(...skipping 2694 matching lines...) Expand 10 before | Expand all | Expand 10 after
6788 virtual bool IsDeletable() const { return true; } 6789 virtual bool IsDeletable() const { return true; }
6789 }; 6790 };
6790 6791
6791 6792
6792 #undef DECLARE_INSTRUCTION 6793 #undef DECLARE_INSTRUCTION
6793 #undef DECLARE_CONCRETE_INSTRUCTION 6794 #undef DECLARE_CONCRETE_INSTRUCTION
6794 6795
6795 } } // namespace v8::internal 6796 } } // namespace v8::internal
6796 6797
6797 #endif // V8_HYDROGEN_INSTRUCTIONS_H_ 6798 #endif // V8_HYDROGEN_INSTRUCTIONS_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698