| 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 707 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|   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  Loading... | 
|  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 | 
| OLD | NEW |