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 404 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
415 GenerateLoadMiss(masm(), Code::LOAD_IC); | 415 GenerateLoadMiss(masm(), Code::LOAD_IC); |
416 | 416 |
417 // Return the generated code. | 417 // Return the generated code. |
418 return GetCode(NORMAL, name); | 418 return GetCode(NORMAL, name); |
419 } | 419 } |
420 | 420 |
421 | 421 |
422 Object* StoreStubCompiler::CompileStoreCallback(JSObject* a, | 422 Object* StoreStubCompiler::CompileStoreCallback(JSObject* a, |
423 AccessorInfo* b, | 423 AccessorInfo* b, |
424 String* c) { | 424 String* c) { |
425 UNIMPLEMENTED(); | 425 // TODO(X64): Implement a real stub. |
426 return NULL; | 426 return Failure::InternalError(); |
427 } | 427 } |
428 | 428 |
429 | 429 |
430 Object* StoreStubCompiler::CompileStoreField(JSObject* object, | 430 Object* StoreStubCompiler::CompileStoreField(JSObject* object, |
431 int index, | 431 int index, |
432 Map* transition, | 432 Map* transition, |
433 String* name) { | 433 String* name) { |
434 // ----------- S t a t e ------------- | 434 // ----------- S t a t e ------------- |
435 // -- rax : value | 435 // -- rax : value |
436 // -- rcx : name | 436 // -- rcx : name |
(...skipping 19 matching lines...) Expand all Loading... |
456 __ Move(rcx, Handle<String>(name)); // restore name | 456 __ Move(rcx, Handle<String>(name)); // restore name |
457 Handle<Code> ic(Builtins::builtin(Builtins::StoreIC_Miss)); | 457 Handle<Code> ic(Builtins::builtin(Builtins::StoreIC_Miss)); |
458 __ Jump(ic, RelocInfo::CODE_TARGET); | 458 __ Jump(ic, RelocInfo::CODE_TARGET); |
459 | 459 |
460 // Return the generated code. | 460 // Return the generated code. |
461 return GetCode(transition == NULL ? FIELD : MAP_TRANSITION, name); | 461 return GetCode(transition == NULL ? FIELD : MAP_TRANSITION, name); |
462 } | 462 } |
463 | 463 |
464 | 464 |
465 Object* StoreStubCompiler::CompileStoreInterceptor(JSObject* a, String* b) { | 465 Object* StoreStubCompiler::CompileStoreInterceptor(JSObject* a, String* b) { |
466 UNIMPLEMENTED(); | 466 // TODO(X64): Implement a real stub. |
467 return NULL; | 467 return Failure::InternalError(); |
468 } | 468 } |
469 | 469 |
470 | 470 |
471 Object* StoreStubCompiler::CompileStoreGlobal(GlobalObject* object, | 471 Object* StoreStubCompiler::CompileStoreGlobal(GlobalObject* object, |
472 JSGlobalPropertyCell* cell, | 472 JSGlobalPropertyCell* cell, |
473 String* name) { | 473 String* name) { |
474 UNIMPLEMENTED(); | 474 // TODO(X64): Implement a real stub. |
475 return NULL; | 475 return Failure::InternalError(); |
476 } | 476 } |
477 | 477 |
478 | 478 |
479 Object* KeyedLoadStubCompiler::CompileLoadField(String* name, | 479 Object* KeyedLoadStubCompiler::CompileLoadField(String* name, |
480 JSObject* receiver, | 480 JSObject* receiver, |
481 JSObject* holder, | 481 JSObject* holder, |
482 int index) { | 482 int index) { |
483 // ----------- S t a t e ------------- | 483 // ----------- S t a t e ------------- |
484 // -- rsp[0] : return address | 484 // -- rsp[0] : return address |
485 // -- rsp[8] : name | 485 // -- rsp[8] : name |
(...skipping 342 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
828 | 828 |
829 // Return the value (register rax). | 829 // Return the value (register rax). |
830 __ ret(0); | 830 __ ret(0); |
831 } | 831 } |
832 | 832 |
833 | 833 |
834 #undef __ | 834 #undef __ |
835 | 835 |
836 | 836 |
837 } } // namespace v8::internal | 837 } } // namespace v8::internal |
OLD | NEW |