OLD | NEW |
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 Loading... |
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 Loading... |
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 Loading... |
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 |
OLD | NEW |