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 398 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
409 | 409 |
410 // Special cases: These 'runtime calls' manipulate the current | 410 // Special cases: These 'runtime calls' manipulate the current |
411 // frame and are only used 1 or two places, so we generate them | 411 // frame and are only used 1 or two places, so we generate them |
412 // inline instead of generating calls to them. They are used | 412 // inline instead of generating calls to them. They are used |
413 // for implementing Function.prototype.call() and | 413 // for implementing Function.prototype.call() and |
414 // Function.prototype.apply(). | 414 // Function.prototype.apply(). |
415 CodeGenerator::InlineRuntimeLUT CodeGenerator::kInlineRuntimeLUT[] = { | 415 CodeGenerator::InlineRuntimeLUT CodeGenerator::kInlineRuntimeLUT[] = { |
416 {&CodeGenerator::GenerateIsSmi, "_IsSmi"}, | 416 {&CodeGenerator::GenerateIsSmi, "_IsSmi"}, |
417 {&CodeGenerator::GenerateIsNonNegativeSmi, "_IsNonNegativeSmi"}, | 417 {&CodeGenerator::GenerateIsNonNegativeSmi, "_IsNonNegativeSmi"}, |
418 {&CodeGenerator::GenerateIsArray, "_IsArray"}, | 418 {&CodeGenerator::GenerateIsArray, "_IsArray"}, |
| 419 {&CodeGenerator::GenerateIsConstructCall, "_IsConstructCall"}, |
419 {&CodeGenerator::GenerateArgumentsLength, "_ArgumentsLength"}, | 420 {&CodeGenerator::GenerateArgumentsLength, "_ArgumentsLength"}, |
420 {&CodeGenerator::GenerateArgumentsAccess, "_Arguments"}, | 421 {&CodeGenerator::GenerateArgumentsAccess, "_Arguments"}, |
421 {&CodeGenerator::GenerateValueOf, "_ValueOf"}, | 422 {&CodeGenerator::GenerateValueOf, "_ValueOf"}, |
422 {&CodeGenerator::GenerateSetValueOf, "_SetValueOf"}, | 423 {&CodeGenerator::GenerateSetValueOf, "_SetValueOf"}, |
423 {&CodeGenerator::GenerateFastCharCodeAt, "_FastCharCodeAt"}, | 424 {&CodeGenerator::GenerateFastCharCodeAt, "_FastCharCodeAt"}, |
424 {&CodeGenerator::GenerateObjectEquals, "_ObjectEquals"}, | 425 {&CodeGenerator::GenerateObjectEquals, "_ObjectEquals"}, |
425 {&CodeGenerator::GenerateLog, "_Log"}, | 426 {&CodeGenerator::GenerateLog, "_Log"}, |
426 {&CodeGenerator::GenerateRandomPositiveSmi, "_RandomPositiveSmi"}, | 427 {&CodeGenerator::GenerateRandomPositiveSmi, "_RandomPositiveSmi"}, |
427 {&CodeGenerator::GenerateMathSin, "_Math_sin"}, | 428 {&CodeGenerator::GenerateMathSin, "_Math_sin"}, |
428 {&CodeGenerator::GenerateMathCos, "_Math_cos"} | 429 {&CodeGenerator::GenerateMathCos, "_Math_cos"} |
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
527 void ArgumentsAccessStub::Generate(MacroAssembler* masm) { | 528 void ArgumentsAccessStub::Generate(MacroAssembler* masm) { |
528 switch (type_) { | 529 switch (type_) { |
529 case READ_LENGTH: GenerateReadLength(masm); break; | 530 case READ_LENGTH: GenerateReadLength(masm); break; |
530 case READ_ELEMENT: GenerateReadElement(masm); break; | 531 case READ_ELEMENT: GenerateReadElement(masm); break; |
531 case NEW_OBJECT: GenerateNewObject(masm); break; | 532 case NEW_OBJECT: GenerateNewObject(masm); break; |
532 } | 533 } |
533 } | 534 } |
534 | 535 |
535 | 536 |
536 } } // namespace v8::internal | 537 } } // namespace v8::internal |
OLD | NEW |