| OLD | NEW |
| 1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 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 2604 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2615 SetSourcePosition(expr->position()); | 2615 SetSourcePosition(expr->position()); |
| 2616 | 2616 |
| 2617 // Load function and argument count into x1 and x0. | 2617 // Load function and argument count into x1 and x0. |
| 2618 __ Mov(x0, arg_count); | 2618 __ Mov(x0, arg_count); |
| 2619 __ Peek(x1, arg_count * kXRegSizeInBytes); | 2619 __ Peek(x1, arg_count * kXRegSizeInBytes); |
| 2620 | 2620 |
| 2621 // Record call targets in unoptimized code. | 2621 // Record call targets in unoptimized code. |
| 2622 Handle<Object> uninitialized = | 2622 Handle<Object> uninitialized = |
| 2623 TypeFeedbackInfo::UninitializedSentinel(isolate()); | 2623 TypeFeedbackInfo::UninitializedSentinel(isolate()); |
| 2624 StoreFeedbackVectorSlot(expr->CallNewFeedbackSlot(), uninitialized); | 2624 StoreFeedbackVectorSlot(expr->CallNewFeedbackSlot(), uninitialized); |
| 2625 StoreFeedbackVectorSlot(expr->AllocationSiteFeedbackSlot(), |
| 2626 isolate()->factory()->NewAllocationSite()); |
| 2627 ASSERT(expr->AllocationSiteFeedbackSlot() == |
| 2628 expr->CallNewFeedbackSlot() + 1); |
| 2625 __ LoadObject(x2, FeedbackVector()); | 2629 __ LoadObject(x2, FeedbackVector()); |
| 2626 __ Mov(x3, Operand(Smi::FromInt(expr->CallNewFeedbackSlot()))); | 2630 __ Mov(x3, Operand(Smi::FromInt(expr->CallNewFeedbackSlot()))); |
| 2627 | 2631 |
| 2628 CallConstructStub stub(RECORD_CALL_TARGET); | 2632 CallConstructStub stub(RECORD_CALL_TARGET); |
| 2629 __ Call(stub.GetCode(isolate()), RelocInfo::CONSTRUCT_CALL); | 2633 __ Call(stub.GetCode(isolate()), RelocInfo::CONSTRUCT_CALL); |
| 2630 PrepareForBailoutForId(expr->ReturnId(), TOS_REG); | 2634 PrepareForBailoutForId(expr->ReturnId(), TOS_REG); |
| 2631 context()->Plug(x0); | 2635 context()->Plug(x0); |
| 2632 } | 2636 } |
| 2633 | 2637 |
| 2634 | 2638 |
| (...skipping 2372 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5007 return previous_; | 5011 return previous_; |
| 5008 } | 5012 } |
| 5009 | 5013 |
| 5010 | 5014 |
| 5011 #undef __ | 5015 #undef __ |
| 5012 | 5016 |
| 5013 | 5017 |
| 5014 } } // namespace v8::internal | 5018 } } // namespace v8::internal |
| 5015 | 5019 |
| 5016 #endif // V8_TARGET_ARCH_A64 | 5020 #endif // V8_TARGET_ARCH_A64 |
| OLD | NEW |