| 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 |