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 3241 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3252 | 3252 |
3253 __ bind(&miss); | 3253 __ bind(&miss); |
3254 Handle<Code> ic(Builtins::builtin(Builtins::KeyedStoreIC_Miss)); | 3254 Handle<Code> ic(Builtins::builtin(Builtins::KeyedStoreIC_Miss)); |
3255 __ Jump(ic, RelocInfo::CODE_TARGET); | 3255 __ Jump(ic, RelocInfo::CODE_TARGET); |
3256 | 3256 |
3257 // Return the generated code. | 3257 // Return the generated code. |
3258 return GetCode(NORMAL, NULL); | 3258 return GetCode(NORMAL, NULL); |
3259 } | 3259 } |
3260 | 3260 |
3261 | 3261 |
| 3262 MaybeObject* KeyedStoreStubCompiler::CompileStorePixelArray( |
| 3263 JSObject* receiver) { |
| 3264 // ----------- S t a t e ------------- |
| 3265 // -- r0 : value |
| 3266 // -- r1 : key |
| 3267 // -- r2 : receiver |
| 3268 // -- r3 : scratch |
| 3269 // -- r4 : scratch |
| 3270 // -- r5 : scratch |
| 3271 // -- r6 : scratch |
| 3272 // -- lr : return address |
| 3273 // ----------------------------------- |
| 3274 Label miss; |
| 3275 |
| 3276 // Check that the map matches. |
| 3277 __ CheckMap(r2, r6, Handle<Map>(receiver->map()), &miss, false); |
| 3278 |
| 3279 GenerateFastPixelArrayStore(masm(), |
| 3280 r2, |
| 3281 r1, |
| 3282 r0, |
| 3283 r3, |
| 3284 r4, |
| 3285 r5, |
| 3286 r6, |
| 3287 true, |
| 3288 true, |
| 3289 &miss, |
| 3290 &miss, |
| 3291 NULL, |
| 3292 &miss); |
| 3293 |
| 3294 __ bind(&miss); |
| 3295 Handle<Code> ic(Builtins::builtin(Builtins::KeyedStoreIC_Miss)); |
| 3296 __ Jump(ic, RelocInfo::CODE_TARGET); |
| 3297 |
| 3298 // Return the generated code. |
| 3299 return GetCode(NORMAL, NULL); |
| 3300 } |
| 3301 |
| 3302 |
3262 MaybeObject* ConstructStubCompiler::CompileConstructStub(JSFunction* function) { | 3303 MaybeObject* ConstructStubCompiler::CompileConstructStub(JSFunction* function) { |
3263 // ----------- S t a t e ------------- | 3304 // ----------- S t a t e ------------- |
3264 // -- r0 : argc | 3305 // -- r0 : argc |
3265 // -- r1 : constructor | 3306 // -- r1 : constructor |
3266 // -- lr : return address | 3307 // -- lr : return address |
3267 // -- [sp] : last argument | 3308 // -- [sp] : last argument |
3268 // ----------------------------------- | 3309 // ----------------------------------- |
3269 Label generic_stub_call; | 3310 Label generic_stub_call; |
3270 | 3311 |
3271 // Use r7 for holding undefined which is used in several places below. | 3312 // Use r7 for holding undefined which is used in several places below. |
(...skipping 726 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3998 | 4039 |
3999 return GetCode(flags); | 4040 return GetCode(flags); |
4000 } | 4041 } |
4001 | 4042 |
4002 | 4043 |
4003 #undef __ | 4044 #undef __ |
4004 | 4045 |
4005 } } // namespace v8::internal | 4046 } } // namespace v8::internal |
4006 | 4047 |
4007 #endif // V8_TARGET_ARCH_ARM | 4048 #endif // V8_TARGET_ARCH_ARM |
OLD | NEW |