| OLD | NEW |
| 1 // Copyright 2007-2008 the V8 project authors. All rights reserved. | 1 // Copyright 2007-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 476 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 487 if (range / FastCaseSwitchMaxOverheadFactor() > length) { | 487 if (range / FastCaseSwitchMaxOverheadFactor() > length) { |
| 488 return false; // range of labels is too sparse | 488 return false; // range of labels is too sparse |
| 489 } | 489 } |
| 490 | 490 |
| 491 // Optimization accepted, generate code. | 491 // Optimization accepted, generate code. |
| 492 GenerateFastCaseSwitchStatement(node, min_index, range, default_index); | 492 GenerateFastCaseSwitchStatement(node, min_index, range, default_index); |
| 493 return true; | 493 return true; |
| 494 } | 494 } |
| 495 | 495 |
| 496 | 496 |
| 497 void CodeGenerator::CodeForStatement(Node* node) { | 497 void CodeGenerator::CodeForFunctionPosition(FunctionLiteral* fun) { |
| 498 if (FLAG_debug_info) { |
| 499 int pos = fun->start_position(); |
| 500 if (pos != RelocInfo::kNoPosition) { |
| 501 masm()->RecordStatementPosition(pos); |
| 502 masm()->RecordPosition(pos); |
| 503 } |
| 504 } |
| 505 } |
| 506 |
| 507 |
| 508 void CodeGenerator::CodeForStatementPosition(Node* node) { |
| 498 if (FLAG_debug_info) { | 509 if (FLAG_debug_info) { |
| 499 int pos = node->statement_pos(); | 510 int pos = node->statement_pos(); |
| 500 if (pos != RelocInfo::kNoPosition) { | 511 if (pos != RelocInfo::kNoPosition) { |
| 501 masm()->RecordStatementPosition(pos); | 512 masm()->RecordStatementPosition(pos); |
| 502 CodeForSourcePosition(pos); | 513 CodeForSourcePosition(pos); |
| 503 } | 514 } |
| 504 } | 515 } |
| 505 } | 516 } |
| 506 | 517 |
| 507 | 518 |
| (...skipping 19 matching lines...) Expand all Loading... |
| 527 void ArgumentsAccessStub::Generate(MacroAssembler* masm) { | 538 void ArgumentsAccessStub::Generate(MacroAssembler* masm) { |
| 528 switch (type_) { | 539 switch (type_) { |
| 529 case READ_LENGTH: GenerateReadLength(masm); break; | 540 case READ_LENGTH: GenerateReadLength(masm); break; |
| 530 case READ_ELEMENT: GenerateReadElement(masm); break; | 541 case READ_ELEMENT: GenerateReadElement(masm); break; |
| 531 case NEW_OBJECT: GenerateNewObject(masm); break; | 542 case NEW_OBJECT: GenerateNewObject(masm); break; |
| 532 } | 543 } |
| 533 } | 544 } |
| 534 | 545 |
| 535 | 546 |
| 536 } } // namespace v8::internal | 547 } } // namespace v8::internal |
| OLD | NEW |