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

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

Issue 147205: X64 Implementation: Implement Generate_Function(Call,Apply) (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
Patch Set: '' Created 11 years, 5 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/x64/codegen-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 2009 the V8 project authors. All rights reserved. 1 // Copyright 2009 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 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
72 __ push(rax); 72 __ push(rax);
73 __ push(rbx); 73 __ push(rbx);
74 74
75 // Perform tail call to the entry. 75 // Perform tail call to the entry.
76 __ TailCallRuntime(f, 2); 76 __ TailCallRuntime(f, 2);
77 } 77 }
78 78
79 79
80 void KeyedLoadIC::GenerateGeneric(MacroAssembler* masm) { 80 void KeyedLoadIC::GenerateGeneric(MacroAssembler* masm) {
81 masm->int3(); // UNIMPLEMENTED. 81 masm->int3(); // UNIMPLEMENTED.
82 masm->movq(kScratchRegister, Immediate(0xC0AB)); // Debugging aid.
82 } 83 }
83 84
84 void KeyedLoadIC::GenerateMiss(MacroAssembler* masm) { 85 void KeyedLoadIC::GenerateMiss(MacroAssembler* masm) {
85 masm->int3(); // UNIMPLEMENTED. 86 masm->int3(); // UNIMPLEMENTED.
87 masm->movq(kScratchRegister, Immediate(0xC1AB)); // Debugging aid.
86 } 88 }
87 89
88 bool KeyedLoadIC::PatchInlinedLoad(Address address, Object* map) { 90 bool KeyedLoadIC::PatchInlinedLoad(Address address, Object* map) {
89 UNIMPLEMENTED(); 91 UNIMPLEMENTED();
90 return false; 92 return false;
91 } 93 }
92 94
93 bool KeyedStoreIC::PatchInlinedStore(Address address, Object* map) { 95 bool KeyedStoreIC::PatchInlinedStore(Address address, Object* map) {
94 UNIMPLEMENTED(); 96 UNIMPLEMENTED();
95 return false; 97 return false;
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
155 __ push(Operand(rsp, 1 * kPointerSize)); 157 __ push(Operand(rsp, 1 * kPointerSize));
156 __ push(rax); 158 __ push(rax);
157 __ push(rcx); 159 __ push(rcx);
158 160
159 // Do tail-call to runtime routine. 161 // Do tail-call to runtime routine.
160 __ TailCallRuntime(f, 3); 162 __ TailCallRuntime(f, 3);
161 } 163 }
162 164
163 void KeyedStoreIC::GenerateExtendStorage(MacroAssembler* masm) { 165 void KeyedStoreIC::GenerateExtendStorage(MacroAssembler* masm) {
164 masm->int3(); // UNIMPLEMENTED. 166 masm->int3(); // UNIMPLEMENTED.
167 masm->movq(kScratchRegister, Immediate(0xC2AB)); // Debugging aid.
165 } 168 }
166 169
167 void KeyedStoreIC::GenerateGeneric(MacroAssembler* masm) { 170 void KeyedStoreIC::GenerateGeneric(MacroAssembler* masm) {
168 masm->int3(); // UNIMPLEMENTED. 171 masm->int3(); // UNIMPLEMENTED.
172 masm->movq(kScratchRegister, Immediate(0xC3AB)); // Debugging aid.
169 } 173 }
170 174
171 Object* KeyedStoreStubCompiler::CompileStoreField(JSObject* object, 175 Object* KeyedStoreStubCompiler::CompileStoreField(JSObject* object,
172 int index, 176 int index,
173 Map* transition, 177 Map* transition,
174 String* name) { 178 String* name) {
175 UNIMPLEMENTED(); 179 UNIMPLEMENTED();
176 return NULL; 180 return NULL;
177 } 181 }
178 182
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
258 __ push(rcx); 262 __ push(rcx);
259 __ push(rbx); 263 __ push(rbx);
260 264
261 // Perform tail call to the entry. 265 // Perform tail call to the entry.
262 __ TailCallRuntime(f, 2); 266 __ TailCallRuntime(f, 2);
263 } 267 }
264 268
265 269
266 void LoadIC::GenerateArrayLength(MacroAssembler* masm) { 270 void LoadIC::GenerateArrayLength(MacroAssembler* masm) {
267 masm->int3(); // UNIMPLEMENTED. 271 masm->int3(); // UNIMPLEMENTED.
272 masm->movq(kScratchRegister, Immediate(0xC4AB)); // Debugging aid.
268 } 273 }
269 274
270 void LoadIC::GenerateFunctionPrototype(MacroAssembler* masm) { 275 void LoadIC::GenerateFunctionPrototype(MacroAssembler* masm) {
271 masm->int3(); // UNIMPLEMENTED. 276 masm->int3(); // UNIMPLEMENTED.
277 masm->movq(kScratchRegister, Immediate(0xC5AB)); // Debugging aid.
272 } 278 }
273 279
274 void LoadIC::GenerateMegamorphic(MacroAssembler* masm) { 280 void LoadIC::GenerateMegamorphic(MacroAssembler* masm) {
275 masm->int3(); // UNIMPLEMENTED. 281 masm->int3(); // UNIMPLEMENTED.
282 masm->movq(kScratchRegister, Immediate(0xC6AB)); // Debugging aid.
276 } 283 }
277 284
278 void LoadIC::GenerateMiss(MacroAssembler* masm) { 285 void LoadIC::GenerateMiss(MacroAssembler* masm) {
279 masm->int3(); // UNIMPLEMENTED. 286 masm->int3(); // UNIMPLEMENTED.
287 masm->movq(kScratchRegister, Immediate(0xC7AB)); // Debugging aid.
280 } 288 }
281 289
282 void LoadIC::GenerateNormal(MacroAssembler* masm) { 290 void LoadIC::GenerateNormal(MacroAssembler* masm) {
283 masm->int3(); // UNIMPLEMENTED. 291 masm->int3(); // UNIMPLEMENTED.
292 masm->movq(kScratchRegister, Immediate(0xC8AB)); // Debugging aid.
284 } 293 }
285 294
286 void LoadIC::GenerateStringLength(MacroAssembler* masm) { 295 void LoadIC::GenerateStringLength(MacroAssembler* masm) {
287 masm->int3(); // UNIMPLEMENTED. 296 masm->int3(); // UNIMPLEMENTED.
297 masm->movq(kScratchRegister, Immediate(0xC9AB)); // Debugging aid.
288 } 298 }
289 299
290 bool LoadIC::PatchInlinedLoad(Address address, Object* map, int index) { 300 bool LoadIC::PatchInlinedLoad(Address address, Object* map, int index) {
291 UNIMPLEMENTED(); 301 UNIMPLEMENTED();
292 return false; 302 return false;
293 } 303 }
294 304
295 void StoreIC::Generate(MacroAssembler* masm, ExternalReference const& f) { 305 void StoreIC::Generate(MacroAssembler* masm, ExternalReference const& f) {
296 // ----------- S t a t e ------------- 306 // ----------- S t a t e -------------
297 // -- rax : value 307 // -- rax : value
298 // -- rcx : name 308 // -- rcx : name
299 // -- rsp[0] : return address 309 // -- rsp[0] : return address
300 // -- rsp[8] : receiver 310 // -- rsp[8] : receiver
301 // ----------------------------------- 311 // -----------------------------------
302 // Move the return address below the arguments. 312 // Move the return address below the arguments.
303 __ pop(rbx); 313 __ pop(rbx);
304 __ push(Operand(rsp, 0)); 314 __ push(Operand(rsp, 0));
305 __ push(rcx); 315 __ push(rcx);
306 __ push(rax); 316 __ push(rax);
307 __ push(rbx); 317 __ push(rbx);
308 318
309 // Perform tail call to the entry. 319 // Perform tail call to the entry.
310 __ TailCallRuntime(f, 3); 320 __ TailCallRuntime(f, 3);
311 } 321 }
312 322
313 void StoreIC::GenerateExtendStorage(MacroAssembler* masm) { 323 void StoreIC::GenerateExtendStorage(MacroAssembler* masm) {
314 masm->int3(); // UNIMPLEMENTED. 324 masm->int3(); // UNIMPLEMENTED.
325 masm->movq(kScratchRegister, Immediate(0xCAAB)); // Debugging aid.
315 } 326 }
316 327
317 void StoreIC::GenerateMegamorphic(MacroAssembler* masm) { 328 void StoreIC::GenerateMegamorphic(MacroAssembler* masm) {
318 masm->int3(); // UNIMPLEMENTED. 329 masm->int3(); // UNIMPLEMENTED.
330 masm->movq(kScratchRegister, Immediate(0xCBAB)); // Debugging aid.
319 } 331 }
320 332
321 333
322 #undef __ 334 #undef __
323 335
324 336
325 } } // namespace v8::internal 337 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « src/x64/codegen-x64.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698