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

Side by Side Diff: src/ic/x64/ic-x64.cc

Issue 496283004: Move "slow handler" compiler code to handler-compiler (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 6 years, 4 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/ic/x64/handler-compiler-x64.cc ('k') | no next file » | 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/codegen.h" 9 #include "src/codegen.h"
10 #include "src/ic/ic.h" 10 #include "src/ic/ic.h"
(...skipping 994 matching lines...) Expand 10 before | Expand all | Expand 10 after
1005 Counters* counters = masm->isolate()->counters(); 1005 Counters* counters = masm->isolate()->counters();
1006 __ IncrementCounter(counters->store_normal_hit(), 1); 1006 __ IncrementCounter(counters->store_normal_hit(), 1);
1007 __ ret(0); 1007 __ ret(0);
1008 1008
1009 __ bind(&miss); 1009 __ bind(&miss);
1010 __ IncrementCounter(counters->store_normal_miss(), 1); 1010 __ IncrementCounter(counters->store_normal_miss(), 1);
1011 GenerateMiss(masm); 1011 GenerateMiss(masm);
1012 } 1012 }
1013 1013
1014 1014
1015 void StoreIC::GenerateSlow(MacroAssembler* masm) {
1016 // Return address is on the stack.
1017 StoreIC_PushArgs(masm);
1018
1019 // Do tail-call to runtime routine.
1020 ExternalReference ref(IC_Utility(kStoreIC_Slow), masm->isolate());
1021 __ TailCallExternalReference(ref, 3, 1);
1022 }
1023
1024
1025 void KeyedStoreIC::GenerateSlow(MacroAssembler* masm) {
1026 // Return address is on the stack.
1027 StoreIC_PushArgs(masm);
1028
1029 // Do tail-call to runtime routine.
1030 ExternalReference ref(IC_Utility(kKeyedStoreIC_Slow), masm->isolate());
1031 __ TailCallExternalReference(ref, 3, 1);
1032 }
1033
1034
1035 void KeyedStoreIC::GenerateMiss(MacroAssembler* masm) { 1015 void KeyedStoreIC::GenerateMiss(MacroAssembler* masm) {
1036 // Return address is on the stack. 1016 // Return address is on the stack.
1037 StoreIC_PushArgs(masm); 1017 StoreIC_PushArgs(masm);
1038 1018
1039 // Do tail-call to runtime routine. 1019 // Do tail-call to runtime routine.
1040 ExternalReference ref = 1020 ExternalReference ref =
1041 ExternalReference(IC_Utility(kKeyedStoreIC_Miss), masm->isolate()); 1021 ExternalReference(IC_Utility(kKeyedStoreIC_Miss), masm->isolate());
1042 __ TailCallExternalReference(ref, 3, 1); 1022 __ TailCallExternalReference(ref, 3, 1);
1043 } 1023 }
1044 1024
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
1110 Condition cc = 1090 Condition cc =
1111 (check == ENABLE_INLINED_SMI_CHECK) 1091 (check == ENABLE_INLINED_SMI_CHECK)
1112 ? (*jmp_address == Assembler::kJncShortOpcode ? not_zero : zero) 1092 ? (*jmp_address == Assembler::kJncShortOpcode ? not_zero : zero)
1113 : (*jmp_address == Assembler::kJnzShortOpcode ? not_carry : carry); 1093 : (*jmp_address == Assembler::kJnzShortOpcode ? not_carry : carry);
1114 *jmp_address = static_cast<byte>(Assembler::kJccShortPrefix | cc); 1094 *jmp_address = static_cast<byte>(Assembler::kJccShortPrefix | cc);
1115 } 1095 }
1116 } 1096 }
1117 } // namespace v8::internal 1097 } // namespace v8::internal
1118 1098
1119 #endif // V8_TARGET_ARCH_X64 1099 #endif // V8_TARGET_ARCH_X64
OLDNEW
« no previous file with comments | « src/ic/x64/handler-compiler-x64.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698