OLD | NEW |
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 401 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
412 for (int i = 0; i < expr->arguments()->length(); i++) { | 412 for (int i = 0; i < expr->arguments()->length(); i++) { |
413 Visit(expr->arguments()->at(i)); | 413 Visit(expr->arguments()->at(i)); |
414 CHECK_BAILOUT; | 414 CHECK_BAILOUT; |
415 } | 415 } |
416 } | 416 } |
417 | 417 |
418 | 418 |
419 void FullCodeGenSyntaxChecker::VisitUnaryOperation(UnaryOperation* expr) { | 419 void FullCodeGenSyntaxChecker::VisitUnaryOperation(UnaryOperation* expr) { |
420 switch (expr->op()) { | 420 switch (expr->op()) { |
421 case Token::ADD: | 421 case Token::ADD: |
| 422 case Token::BIT_NOT: |
422 case Token::NOT: | 423 case Token::NOT: |
| 424 case Token::SUB: |
423 case Token::TYPEOF: | 425 case Token::TYPEOF: |
424 case Token::VOID: | 426 case Token::VOID: |
425 Visit(expr->expression()); | 427 Visit(expr->expression()); |
426 break; | 428 break; |
427 case Token::BIT_NOT: | |
428 BAILOUT("UnaryOperation: BIT_NOT"); | |
429 case Token::DELETE: | 429 case Token::DELETE: |
430 BAILOUT("UnaryOperation: DELETE"); | 430 BAILOUT("UnaryOperation: DELETE"); |
431 case Token::SUB: | |
432 BAILOUT("UnaryOperation: SUB"); | |
433 default: | 431 default: |
434 UNREACHABLE(); | 432 UNREACHABLE(); |
435 } | 433 } |
436 } | 434 } |
437 | 435 |
438 | 436 |
439 void FullCodeGenSyntaxChecker::VisitCountOperation(CountOperation* expr) { | 437 void FullCodeGenSyntaxChecker::VisitCountOperation(CountOperation* expr) { |
440 Variable* var = expr->expression()->AsVariableProxy()->AsVariable(); | 438 Variable* var = expr->expression()->AsVariableProxy()->AsVariable(); |
441 Property* prop = expr->expression()->AsProperty(); | 439 Property* prop = expr->expression()->AsProperty(); |
442 ASSERT(var == NULL || prop == NULL); | 440 ASSERT(var == NULL || prop == NULL); |
(...skipping 743 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1186 __ Drop(stack_depth); | 1184 __ Drop(stack_depth); |
1187 __ PopTryHandler(); | 1185 __ PopTryHandler(); |
1188 return 0; | 1186 return 0; |
1189 } | 1187 } |
1190 | 1188 |
1191 | 1189 |
1192 #undef __ | 1190 #undef __ |
1193 | 1191 |
1194 | 1192 |
1195 } } // namespace v8::internal | 1193 } } // namespace v8::internal |
OLD | NEW |