OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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 459 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
470 __ movq(args.GetArgumentOperand(offset - FCA::kCalleeIndex), rdi); | 470 __ movq(args.GetArgumentOperand(offset - FCA::kCalleeIndex), rdi); |
471 Handle<CallHandlerInfo> api_call_info = optimization.api_call_info(); | 471 Handle<CallHandlerInfo> api_call_info = optimization.api_call_info(); |
472 Handle<Object> call_data(api_call_info->data(), masm->isolate()); | 472 Handle<Object> call_data(api_call_info->data(), masm->isolate()); |
473 if (masm->isolate()->heap()->InNewSpace(*call_data)) { | 473 if (masm->isolate()->heap()->InNewSpace(*call_data)) { |
474 __ Move(rcx, api_call_info); | 474 __ Move(rcx, api_call_info); |
475 __ movq(rbx, FieldOperand(rcx, CallHandlerInfo::kDataOffset)); | 475 __ movq(rbx, FieldOperand(rcx, CallHandlerInfo::kDataOffset)); |
476 __ movq(args.GetArgumentOperand(offset - FCA::kDataIndex), rbx); | 476 __ movq(args.GetArgumentOperand(offset - FCA::kDataIndex), rbx); |
477 } else { | 477 } else { |
478 __ Move(args.GetArgumentOperand(offset - FCA::kDataIndex), call_data); | 478 __ Move(args.GetArgumentOperand(offset - FCA::kDataIndex), call_data); |
479 } | 479 } |
480 __ movq(kScratchRegister, | 480 __ Move(kScratchRegister, |
481 ExternalReference::isolate_address(masm->isolate())); | 481 ExternalReference::isolate_address(masm->isolate())); |
482 __ movq(args.GetArgumentOperand(offset - FCA::kIsolateIndex), | 482 __ movq(args.GetArgumentOperand(offset - FCA::kIsolateIndex), |
483 kScratchRegister); | 483 kScratchRegister); |
484 __ LoadRoot(kScratchRegister, Heap::kUndefinedValueRootIndex); | 484 __ LoadRoot(kScratchRegister, Heap::kUndefinedValueRootIndex); |
485 __ movq(args.GetArgumentOperand(offset - FCA::kReturnValueDefaultValueIndex), | 485 __ movq(args.GetArgumentOperand(offset - FCA::kReturnValueDefaultValueIndex), |
486 kScratchRegister); | 486 kScratchRegister); |
487 __ movq(args.GetArgumentOperand(offset - FCA::kReturnValueOffset), | 487 __ movq(args.GetArgumentOperand(offset - FCA::kReturnValueOffset), |
488 kScratchRegister); | 488 kScratchRegister); |
489 | 489 |
490 // Prepare arguments. | 490 // Prepare arguments. |
(...skipping 2688 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3179 // ----------------------------------- | 3179 // ----------------------------------- |
3180 TailCallBuiltin(masm, Builtins::kKeyedLoadIC_MissForceGeneric); | 3180 TailCallBuiltin(masm, Builtins::kKeyedLoadIC_MissForceGeneric); |
3181 } | 3181 } |
3182 | 3182 |
3183 | 3183 |
3184 #undef __ | 3184 #undef __ |
3185 | 3185 |
3186 } } // namespace v8::internal | 3186 } } // namespace v8::internal |
3187 | 3187 |
3188 #endif // V8_TARGET_ARCH_X64 | 3188 #endif // V8_TARGET_ARCH_X64 |
OLD | NEW |