OLD | NEW |
1 // Copyright 2006-2009 the V8 project authors. All rights reserved. | 1 // Copyright 2006-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 2691 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2702 // Handle store cache miss. | 2702 // Handle store cache miss. |
2703 __ bind(&miss); | 2703 __ bind(&miss); |
2704 Handle<Code> ic(Builtins::builtin(Builtins::KeyedStoreIC_Miss)); | 2704 Handle<Code> ic(Builtins::builtin(Builtins::KeyedStoreIC_Miss)); |
2705 __ jmp(ic, RelocInfo::CODE_TARGET); | 2705 __ jmp(ic, RelocInfo::CODE_TARGET); |
2706 | 2706 |
2707 // Return the generated code. | 2707 // Return the generated code. |
2708 return GetCode(NORMAL, NULL); | 2708 return GetCode(NORMAL, NULL); |
2709 } | 2709 } |
2710 | 2710 |
2711 | 2711 |
| 2712 MaybeObject* KeyedStoreStubCompiler::CompileStorePixelArray( |
| 2713 JSObject* receiver) { |
| 2714 // ----------- S t a t e ------------- |
| 2715 // -- eax : value |
| 2716 // -- ecx : key |
| 2717 // -- edx : receiver |
| 2718 // -- esp[0] : return address |
| 2719 // ----------------------------------- |
| 2720 Label miss; |
| 2721 |
| 2722 // Check that the map matches. |
| 2723 __ CheckMap(edx, Handle<Map>(receiver->map()), &miss, false); |
| 2724 |
| 2725 // Do the load. |
| 2726 GenerateFastPixelArrayStore(masm(), |
| 2727 edx, |
| 2728 ecx, |
| 2729 eax, |
| 2730 edi, |
| 2731 ebx, |
| 2732 true, |
| 2733 &miss, |
| 2734 &miss, |
| 2735 NULL, |
| 2736 &miss); |
| 2737 |
| 2738 // Handle store cache miss. |
| 2739 __ bind(&miss); |
| 2740 Handle<Code> ic(Builtins::builtin(Builtins::KeyedStoreIC_Miss)); |
| 2741 __ jmp(ic, RelocInfo::CODE_TARGET); |
| 2742 |
| 2743 // Return the generated code. |
| 2744 return GetCode(NORMAL, NULL); |
| 2745 } |
| 2746 |
| 2747 |
2712 MaybeObject* LoadStubCompiler::CompileLoadNonexistent(String* name, | 2748 MaybeObject* LoadStubCompiler::CompileLoadNonexistent(String* name, |
2713 JSObject* object, | 2749 JSObject* object, |
2714 JSObject* last) { | 2750 JSObject* last) { |
2715 // ----------- S t a t e ------------- | 2751 // ----------- S t a t e ------------- |
2716 // -- eax : receiver | 2752 // -- eax : receiver |
2717 // -- ecx : name | 2753 // -- ecx : name |
2718 // -- esp[0] : return address | 2754 // -- esp[0] : return address |
2719 // ----------------------------------- | 2755 // ----------------------------------- |
2720 Label miss; | 2756 Label miss; |
2721 | 2757 |
(...skipping 958 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3680 | 3716 |
3681 return GetCode(flags); | 3717 return GetCode(flags); |
3682 } | 3718 } |
3683 | 3719 |
3684 | 3720 |
3685 #undef __ | 3721 #undef __ |
3686 | 3722 |
3687 } } // namespace v8::internal | 3723 } } // namespace v8::internal |
3688 | 3724 |
3689 #endif // V8_TARGET_ARCH_IA32 | 3725 #endif // V8_TARGET_ARCH_IA32 |
OLD | NEW |