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

Side by Side Diff: src/compiler.cc

Issue 354027: Implement typeof in fast compiler. (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
Patch Set: '' Created 11 years, 1 month 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 2009 the V8 project authors. All rights reserved. 1 // Copyright 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 969 matching lines...) Expand 10 before | Expand all | Expand 10 after
980 980
981 981
982 void CodeGenSelector::VisitUnaryOperation(UnaryOperation* expr) { 982 void CodeGenSelector::VisitUnaryOperation(UnaryOperation* expr) {
983 switch (expr->op()) { 983 switch (expr->op()) {
984 case Token::VOID: 984 case Token::VOID:
985 ProcessExpression(expr->expression(), Expression::kEffect); 985 ProcessExpression(expr->expression(), Expression::kEffect);
986 break; 986 break;
987 case Token::NOT: 987 case Token::NOT:
988 ProcessExpression(expr->expression(), Expression::kTest); 988 ProcessExpression(expr->expression(), Expression::kTest);
989 break; 989 break;
990 case Token::TYPEOF:
991 ProcessExpression(expr->expression(), Expression::kValue);
992 break;
990 default: 993 default:
991 BAILOUT("UnaryOperation"); 994 BAILOUT("UnaryOperation");
992 } 995 }
993 } 996 }
994 997
995 998
996 void CodeGenSelector::VisitCountOperation(CountOperation* expr) { 999 void CodeGenSelector::VisitCountOperation(CountOperation* expr) {
997 // We support postfix count operations on global variables. 1000 // We support postfix count operations on global variables.
998 if (expr->is_prefix()) BAILOUT("Prefix CountOperation"); 1001 if (expr->is_prefix()) BAILOUT("Prefix CountOperation");
999 Variable* var = expr->expression()->AsVariableProxy()->AsVariable(); 1002 Variable* var = expr->expression()->AsVariableProxy()->AsVariable();
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
1085 1088
1086 void CodeGenSelector::VisitThisFunction(ThisFunction* expr) { 1089 void CodeGenSelector::VisitThisFunction(ThisFunction* expr) {
1087 BAILOUT("ThisFunction"); 1090 BAILOUT("ThisFunction");
1088 } 1091 }
1089 1092
1090 #undef BAILOUT 1093 #undef BAILOUT
1091 #undef CHECK_BAILOUT 1094 #undef CHECK_BAILOUT
1092 1095
1093 1096
1094 } } // namespace v8::internal 1097 } } // namespace v8::internal
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698