OLD | NEW |
1 // Copyright 2010 the V8 project authors. All rights reserved. | 1 // Copyright 2010 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 2777 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2788 VisitForAccumulatorValue(args->at(0)); | 2788 VisitForAccumulatorValue(args->at(0)); |
2789 | 2789 |
2790 __ movl(rax, FieldOperand(rax, String::kHashFieldOffset)); | 2790 __ movl(rax, FieldOperand(rax, String::kHashFieldOffset)); |
2791 ASSERT(String::kHashShift >= kSmiTagSize); | 2791 ASSERT(String::kHashShift >= kSmiTagSize); |
2792 __ IndexFromHash(rax, rax); | 2792 __ IndexFromHash(rax, rax); |
2793 | 2793 |
2794 context()->Plug(rax); | 2794 context()->Plug(rax); |
2795 } | 2795 } |
2796 | 2796 |
2797 | 2797 |
| 2798 void FullCodeGenerator::EmitFastAsciiArrayJoin(ZoneList<Expression*>* args) { |
| 2799 context()->Plug(Heap::kUndefinedValueRootIndex); |
| 2800 } |
| 2801 |
| 2802 |
2798 void FullCodeGenerator::VisitCallRuntime(CallRuntime* expr) { | 2803 void FullCodeGenerator::VisitCallRuntime(CallRuntime* expr) { |
2799 Handle<String> name = expr->name(); | 2804 Handle<String> name = expr->name(); |
2800 if (name->length() > 0 && name->Get(0) == '_') { | 2805 if (name->length() > 0 && name->Get(0) == '_') { |
2801 Comment cmnt(masm_, "[ InlineRuntimeCall"); | 2806 Comment cmnt(masm_, "[ InlineRuntimeCall"); |
2802 EmitInlineRuntimeCall(expr); | 2807 EmitInlineRuntimeCall(expr); |
2803 return; | 2808 return; |
2804 } | 2809 } |
2805 | 2810 |
2806 Comment cmnt(masm_, "[ CallRuntime"); | 2811 Comment cmnt(masm_, "[ CallRuntime"); |
2807 ZoneList<Expression*>* args = expr->arguments(); | 2812 ZoneList<Expression*>* args = expr->arguments(); |
(...skipping 652 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3460 __ ret(0); | 3465 __ ret(0); |
3461 } | 3466 } |
3462 | 3467 |
3463 | 3468 |
3464 #undef __ | 3469 #undef __ |
3465 | 3470 |
3466 | 3471 |
3467 } } // namespace v8::internal | 3472 } } // namespace v8::internal |
3468 | 3473 |
3469 #endif // V8_TARGET_ARCH_X64 | 3474 #endif // V8_TARGET_ARCH_X64 |
OLD | NEW |