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 3069 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3080 __ Ret(); | 3080 __ Ret(); |
3081 | 3081 |
3082 __ bind(&miss); | 3082 __ bind(&miss); |
3083 GenerateLoadMiss(masm(), Code::KEYED_LOAD_IC); | 3083 GenerateLoadMiss(masm(), Code::KEYED_LOAD_IC); |
3084 | 3084 |
3085 // Return the generated code. | 3085 // Return the generated code. |
3086 return GetCode(NORMAL, NULL); | 3086 return GetCode(NORMAL, NULL); |
3087 } | 3087 } |
3088 | 3088 |
3089 | 3089 |
| 3090 MaybeObject* KeyedLoadStubCompiler::CompileLoadPixelArray(JSObject* receiver) { |
| 3091 // ----------- S t a t e ------------- |
| 3092 // -- lr : return address |
| 3093 // -- r0 : key |
| 3094 // -- r1 : receiver |
| 3095 // ----------------------------------- |
| 3096 Label miss; |
| 3097 |
| 3098 // Check that the map matches. |
| 3099 __ CheckMap(r1, r2, Handle<Map>(receiver->map()), &miss, false); |
| 3100 |
| 3101 GenerateFastPixelArrayLoad(masm(), |
| 3102 r1, |
| 3103 r0, |
| 3104 r2, |
| 3105 r3, |
| 3106 r4, |
| 3107 r5, |
| 3108 r0, |
| 3109 &miss, |
| 3110 &miss, |
| 3111 &miss); |
| 3112 |
| 3113 __ bind(&miss); |
| 3114 Handle<Code> ic(Builtins::builtin(Builtins::KeyedLoadIC_Miss)); |
| 3115 __ Jump(ic, RelocInfo::CODE_TARGET); |
| 3116 |
| 3117 // Return the generated code. |
| 3118 return GetCode(NORMAL, NULL); |
| 3119 } |
| 3120 |
| 3121 |
3090 MaybeObject* KeyedStoreStubCompiler::CompileStoreField(JSObject* object, | 3122 MaybeObject* KeyedStoreStubCompiler::CompileStoreField(JSObject* object, |
3091 int index, | 3123 int index, |
3092 Map* transition, | 3124 Map* transition, |
3093 String* name) { | 3125 String* name) { |
3094 // ----------- S t a t e ------------- | 3126 // ----------- S t a t e ------------- |
3095 // -- r0 : value | 3127 // -- r0 : value |
3096 // -- r1 : name | 3128 // -- r1 : name |
3097 // -- r2 : receiver | 3129 // -- r2 : receiver |
3098 // -- lr : return address | 3130 // -- lr : return address |
3099 // ----------------------------------- | 3131 // ----------------------------------- |
(...skipping 834 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3934 | 3966 |
3935 return GetCode(flags); | 3967 return GetCode(flags); |
3936 } | 3968 } |
3937 | 3969 |
3938 | 3970 |
3939 #undef __ | 3971 #undef __ |
3940 | 3972 |
3941 } } // namespace v8::internal | 3973 } } // namespace v8::internal |
3942 | 3974 |
3943 #endif // V8_TARGET_ARCH_ARM | 3975 #endif // V8_TARGET_ARCH_ARM |
OLD | NEW |