| OLD | NEW | 
|     1 // Copyright 2012 the V8 project authors. All rights reserved. |     1 // Copyright 2012 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 3122 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  3133 #define __ ACCESS_MASM(masm) |  3133 #define __ ACCESS_MASM(masm) | 
|  3134  |  3134  | 
|  3135  |  3135  | 
|  3136 void KeyedLoadStubCompiler::GenerateLoadDictionaryElement( |  3136 void KeyedLoadStubCompiler::GenerateLoadDictionaryElement( | 
|  3137     MacroAssembler* masm) { |  3137     MacroAssembler* masm) { | 
|  3138   // ---------- S t a t e -------------- |  3138   // ---------- S t a t e -------------- | 
|  3139   //  -- lr     : return address |  3139   //  -- lr     : return address | 
|  3140   //  -- r0     : key |  3140   //  -- r0     : key | 
|  3141   //  -- r1     : receiver |  3141   //  -- r1     : receiver | 
|  3142   // ----------------------------------- |  3142   // ----------------------------------- | 
|  3143   Label slow, miss_force_generic; |  3143   Label slow, miss; | 
|  3144  |  3144  | 
|  3145   Register key = r0; |  3145   Register key = r0; | 
|  3146   Register receiver = r1; |  3146   Register receiver = r1; | 
|  3147  |  3147  | 
|  3148   __ UntagAndJumpIfNotSmi(r2, key, &miss_force_generic); |  3148   __ UntagAndJumpIfNotSmi(r2, key, &miss); | 
|  3149   __ ldr(r4, FieldMemOperand(receiver, JSObject::kElementsOffset)); |  3149   __ ldr(r4, FieldMemOperand(receiver, JSObject::kElementsOffset)); | 
|  3150   __ LoadFromNumberDictionary(&slow, r4, key, r0, r2, r3, r5); |  3150   __ LoadFromNumberDictionary(&slow, r4, key, r0, r2, r3, r5); | 
|  3151   __ Ret(); |  3151   __ Ret(); | 
|  3152  |  3152  | 
|  3153   __ bind(&slow); |  3153   __ bind(&slow); | 
|  3154   __ IncrementCounter( |  3154   __ IncrementCounter( | 
|  3155       masm->isolate()->counters()->keyed_load_external_array_slow(), |  3155       masm->isolate()->counters()->keyed_load_external_array_slow(), | 
|  3156       1, r2, r3); |  3156       1, r2, r3); | 
|  3157  |  3157  | 
|  3158   // ---------- S t a t e -------------- |  3158   // ---------- S t a t e -------------- | 
|  3159   //  -- lr     : return address |  3159   //  -- lr     : return address | 
|  3160   //  -- r0     : key |  3160   //  -- r0     : key | 
|  3161   //  -- r1     : receiver |  3161   //  -- r1     : receiver | 
|  3162   // ----------------------------------- |  3162   // ----------------------------------- | 
|  3163   TailCallBuiltin(masm, Builtins::kKeyedLoadIC_Slow); |  3163   TailCallBuiltin(masm, Builtins::kKeyedLoadIC_Slow); | 
|  3164  |  3164  | 
|  3165   // Miss case, call the runtime. |  3165   // Miss case, call the runtime. | 
|  3166   __ bind(&miss_force_generic); |  3166   __ bind(&miss); | 
|  3167  |  3167  | 
|  3168   // ---------- S t a t e -------------- |  3168   // ---------- S t a t e -------------- | 
|  3169   //  -- lr     : return address |  3169   //  -- lr     : return address | 
|  3170   //  -- r0     : key |  3170   //  -- r0     : key | 
|  3171   //  -- r1     : receiver |  3171   //  -- r1     : receiver | 
|  3172   // ----------------------------------- |  3172   // ----------------------------------- | 
|  3173   TailCallBuiltin(masm, Builtins::kKeyedLoadIC_MissForceGeneric); |  3173   TailCallBuiltin(masm, Builtins::kKeyedLoadIC_Miss); | 
|  3174 } |  3174 } | 
|  3175  |  3175  | 
|  3176  |  3176  | 
|  3177 #undef __ |  3177 #undef __ | 
|  3178  |  3178  | 
|  3179 } }  // namespace v8::internal |  3179 } }  // namespace v8::internal | 
|  3180  |  3180  | 
|  3181 #endif  // V8_TARGET_ARCH_ARM |  3181 #endif  // V8_TARGET_ARCH_ARM | 
| OLD | NEW |