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

Side by Side Diff: src/ast.cc

Issue 15300018: Add initial parser support for harmony iteration (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Use subtyping instead of enumerated value Created 7 years, 7 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 1069 matching lines...) Expand 10 before | Expand all | Expand 10 after
1080 DONT_OPTIMIZE_NODE(WithStatement) 1080 DONT_OPTIMIZE_NODE(WithStatement)
1081 DONT_OPTIMIZE_NODE(TryCatchStatement) 1081 DONT_OPTIMIZE_NODE(TryCatchStatement)
1082 DONT_OPTIMIZE_NODE(TryFinallyStatement) 1082 DONT_OPTIMIZE_NODE(TryFinallyStatement)
1083 DONT_OPTIMIZE_NODE(DebuggerStatement) 1083 DONT_OPTIMIZE_NODE(DebuggerStatement)
1084 DONT_OPTIMIZE_NODE(SharedFunctionInfoLiteral) 1084 DONT_OPTIMIZE_NODE(SharedFunctionInfoLiteral)
1085 1085
1086 DONT_SELFOPTIMIZE_NODE(DoWhileStatement) 1086 DONT_SELFOPTIMIZE_NODE(DoWhileStatement)
1087 DONT_SELFOPTIMIZE_NODE(WhileStatement) 1087 DONT_SELFOPTIMIZE_NODE(WhileStatement)
1088 DONT_SELFOPTIMIZE_NODE(ForStatement) 1088 DONT_SELFOPTIMIZE_NODE(ForStatement)
1089 DONT_SELFOPTIMIZE_NODE(ForInStatement) 1089 DONT_SELFOPTIMIZE_NODE(ForInStatement)
1090 DONT_SELFOPTIMIZE_NODE(ForOfStatement)
1090 1091
1091 DONT_CACHE_NODE(ModuleLiteral) 1092 DONT_CACHE_NODE(ModuleLiteral)
1092 1093
1093 void AstConstructionVisitor::VisitCallRuntime(CallRuntime* node) { 1094 void AstConstructionVisitor::VisitCallRuntime(CallRuntime* node) {
1094 increase_node_count(); 1095 increase_node_count();
1095 if (node->is_jsruntime()) { 1096 if (node->is_jsruntime()) {
1096 // Don't try to inline JS runtime calls because we don't (currently) even 1097 // Don't try to inline JS runtime calls because we don't (currently) even
1097 // optimize them. 1098 // optimize them.
1098 add_flag(kDontInline); 1099 add_flag(kDontInline);
1099 } else if (node->function()->intrinsic_type == Runtime::INLINE && 1100 } else if (node->function()->intrinsic_type == Runtime::INLINE &&
(...skipping 24 matching lines...) Expand all
1124 OS::SNPrintF(buffer, "%d", Smi::cast(*handle_)->value()); 1125 OS::SNPrintF(buffer, "%d", Smi::cast(*handle_)->value());
1125 str = arr; 1126 str = arr;
1126 } else { 1127 } else {
1127 str = DoubleToCString(handle_->Number(), buffer); 1128 str = DoubleToCString(handle_->Number(), buffer);
1128 } 1129 }
1129 return FACTORY->NewStringFromAscii(CStrVector(str)); 1130 return FACTORY->NewStringFromAscii(CStrVector(str));
1130 } 1131 }
1131 1132
1132 1133
1133 } } // namespace v8::internal 1134 } } // namespace v8::internal
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698