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

Side by Side Diff: src/x64/full-codegen-x64.cc

Issue 700513002: Version 3.29.88.12 (merged r24927, r24987, r25060, r24950, r24993) (Closed) Base URL: https://v8.googlecode.com/svn/branches/3.29
Patch Set: Created 6 years, 1 month 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/version.cc ('k') | test/mjsunit/sin-cos.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 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "src/v8.h" 5 #include "src/v8.h"
6 6
7 #if V8_TARGET_ARCH_X64 7 #if V8_TARGET_ARCH_X64
8 8
9 #include "src/code-factory.h" 9 #include "src/code-factory.h"
10 #include "src/code-stubs.h" 10 #include "src/code-stubs.h"
(...skipping 2685 matching lines...) Expand 10 before | Expand all | Expand 10 after
2696 2696
2697 2697
2698 void FullCodeGenerator::EmitResolvePossiblyDirectEval(int arg_count) { 2698 void FullCodeGenerator::EmitResolvePossiblyDirectEval(int arg_count) {
2699 // Push copy of the first argument or undefined if it doesn't exist. 2699 // Push copy of the first argument or undefined if it doesn't exist.
2700 if (arg_count > 0) { 2700 if (arg_count > 0) {
2701 __ Push(Operand(rsp, arg_count * kPointerSize)); 2701 __ Push(Operand(rsp, arg_count * kPointerSize));
2702 } else { 2702 } else {
2703 __ PushRoot(Heap::kUndefinedValueRootIndex); 2703 __ PushRoot(Heap::kUndefinedValueRootIndex);
2704 } 2704 }
2705 2705
2706 // Push the enclosing function.
2707 __ Push(Operand(rbp, JavaScriptFrameConstants::kFunctionOffset));
2708
2706 // Push the receiver of the enclosing function and do runtime call. 2709 // Push the receiver of the enclosing function and do runtime call.
2707 StackArgumentsAccessor args(rbp, info_->scope()->num_parameters()); 2710 StackArgumentsAccessor args(rbp, info_->scope()->num_parameters());
2708 __ Push(args.GetReceiverOperand()); 2711 __ Push(args.GetReceiverOperand());
2709 2712
2710 // Push the language mode. 2713 // Push the language mode.
2711 __ Push(Smi::FromInt(strict_mode())); 2714 __ Push(Smi::FromInt(strict_mode()));
2712 2715
2713 // Push the start position of the scope the calls resides in. 2716 // Push the start position of the scope the calls resides in.
2714 __ Push(Smi::FromInt(scope()->start_position())); 2717 __ Push(Smi::FromInt(scope()->start_position()));
2715 2718
2716 // Do the runtime call. 2719 // Do the runtime call.
2717 __ CallRuntime(Runtime::kResolvePossiblyDirectEval, 5); 2720 __ CallRuntime(Runtime::kResolvePossiblyDirectEval, 6);
2718 } 2721 }
2719 2722
2720 2723
2721 void FullCodeGenerator::VisitCall(Call* expr) { 2724 void FullCodeGenerator::VisitCall(Call* expr) {
2722 #ifdef DEBUG 2725 #ifdef DEBUG
2723 // We want to verify that RecordJSReturnSite gets called on all paths 2726 // We want to verify that RecordJSReturnSite gets called on all paths
2724 // through this function. Avoid early returns. 2727 // through this function. Avoid early returns.
2725 expr->return_is_recorded_ = false; 2728 expr->return_is_recorded_ = false;
2726 #endif 2729 #endif
2727 2730
(...skipping 2188 matching lines...) Expand 10 before | Expand all | Expand 10 after
4916 DCHECK_EQ(isolate->builtins()->OsrAfterStackCheck()->entry(), 4919 DCHECK_EQ(isolate->builtins()->OsrAfterStackCheck()->entry(),
4917 Assembler::target_address_at(call_target_address, 4920 Assembler::target_address_at(call_target_address,
4918 unoptimized_code)); 4921 unoptimized_code));
4919 return OSR_AFTER_STACK_CHECK; 4922 return OSR_AFTER_STACK_CHECK;
4920 } 4923 }
4921 4924
4922 4925
4923 } } // namespace v8::internal 4926 } } // namespace v8::internal
4924 4927
4925 #endif // V8_TARGET_ARCH_X64 4928 #endif // V8_TARGET_ARCH_X64
OLDNEW
« no previous file with comments | « src/version.cc ('k') | test/mjsunit/sin-cos.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698