Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(283)

Side by Side Diff: src/x64/macro-assembler-x64.cc

Issue 14139033: Clean up VMState a little bit. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: fixed mistake Created 7 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « src/vm-state-inl.h ('k') | tools/tickprocessor.js » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 707 matching lines...) Expand 10 before | Expand all | Expand 10 after
718 Register prev_limit_reg = rbx; 718 Register prev_limit_reg = rbx;
719 Register base_reg = r15; 719 Register base_reg = r15;
720 movq(base_reg, next_address); 720 movq(base_reg, next_address);
721 movq(prev_next_address_reg, Operand(base_reg, kNextOffset)); 721 movq(prev_next_address_reg, Operand(base_reg, kNextOffset));
722 movq(prev_limit_reg, Operand(base_reg, kLimitOffset)); 722 movq(prev_limit_reg, Operand(base_reg, kLimitOffset));
723 addl(Operand(base_reg, kLevelOffset), Immediate(1)); 723 addl(Operand(base_reg, kLevelOffset), Immediate(1));
724 724
725 if (FLAG_log_timer_events) { 725 if (FLAG_log_timer_events) {
726 FrameScope frame(this, StackFrame::MANUAL); 726 FrameScope frame(this, StackFrame::MANUAL);
727 PushSafepointRegisters(); 727 PushSafepointRegisters();
728 PrepareCallCFunction(0); 728 PrepareCallCFunction(1);
729 CallCFunction(ExternalReference::log_enter_external_function(isolate()), 0); 729 LoadAddress(arg_reg_1, ExternalReference::isolate_address(isolate()));
730 CallCFunction(ExternalReference::log_enter_external_function(isolate()), 1);
730 PopSafepointRegisters(); 731 PopSafepointRegisters();
731 } 732 }
732 733
733 // Call the api function! 734 // Call the api function!
734 movq(rax, reinterpret_cast<int64_t>(function_address), 735 movq(rax, reinterpret_cast<int64_t>(function_address),
735 RelocInfo::EXTERNAL_REFERENCE); 736 RelocInfo::EXTERNAL_REFERENCE);
736 call(rax); 737 call(rax);
737 738
738 if (FLAG_log_timer_events) { 739 if (FLAG_log_timer_events) {
739 FrameScope frame(this, StackFrame::MANUAL); 740 FrameScope frame(this, StackFrame::MANUAL);
740 PushSafepointRegisters(); 741 PushSafepointRegisters();
741 PrepareCallCFunction(0); 742 PrepareCallCFunction(1);
742 CallCFunction(ExternalReference::log_leave_external_function(isolate()), 0); 743 LoadAddress(arg_reg_1, ExternalReference::isolate_address(isolate()));
744 CallCFunction(ExternalReference::log_leave_external_function(isolate()), 1);
743 PopSafepointRegisters(); 745 PopSafepointRegisters();
744 } 746 }
745 747
746 #if defined(_WIN64) && !defined(__MINGW64__) 748 #if defined(_WIN64) && !defined(__MINGW64__)
747 // rax keeps a pointer to v8::Handle, unpack it. 749 // rax keeps a pointer to v8::Handle, unpack it.
748 movq(rax, Operand(rax, 0)); 750 movq(rax, Operand(rax, 0));
749 #endif 751 #endif
750 // Check if the result handle holds 0. 752 // Check if the result handle holds 0.
751 testq(rax, rax); 753 testq(rax, rax);
752 j(zero, &empty_result); 754 j(zero, &empty_result);
(...skipping 3880 matching lines...) Expand 10 before | Expand all | Expand 10 after
4633 j(greater, &no_info_available); 4635 j(greater, &no_info_available);
4634 CompareRoot(MemOperand(scratch_reg, -AllocationSiteInfo::kSize), 4636 CompareRoot(MemOperand(scratch_reg, -AllocationSiteInfo::kSize),
4635 Heap::kAllocationSiteInfoMapRootIndex); 4637 Heap::kAllocationSiteInfoMapRootIndex);
4636 bind(&no_info_available); 4638 bind(&no_info_available);
4637 } 4639 }
4638 4640
4639 4641
4640 } } // namespace v8::internal 4642 } } // namespace v8::internal
4641 4643
4642 #endif // V8_TARGET_ARCH_X64 4644 #endif // V8_TARGET_ARCH_X64
OLDNEW
« no previous file with comments | « src/vm-state-inl.h ('k') | tools/tickprocessor.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698