OLD | NEW |
1 // Copyright 2011 the V8 project authors. All rights reserved. | 1 // Copyright 2011 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 2921 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2932 } | 2932 } |
2933 } | 2933 } |
2934 | 2934 |
2935 | 2935 |
2936 void LCodeGen::DoStoreNamedGeneric(LStoreNamedGeneric* instr) { | 2936 void LCodeGen::DoStoreNamedGeneric(LStoreNamedGeneric* instr) { |
2937 ASSERT(ToRegister(instr->object()).is(r1)); | 2937 ASSERT(ToRegister(instr->object()).is(r1)); |
2938 ASSERT(ToRegister(instr->value()).is(r0)); | 2938 ASSERT(ToRegister(instr->value()).is(r0)); |
2939 | 2939 |
2940 // Name is always in r2. | 2940 // Name is always in r2. |
2941 __ mov(r2, Operand(instr->name())); | 2941 __ mov(r2, Operand(instr->name())); |
2942 Handle<Code> ic(Builtins::builtin(Builtins::StoreIC_Initialize)); | 2942 Handle<Code> ic(Builtins::builtin(info_->is_strict() |
| 2943 ? Builtins::StoreIC_Initialize_Strict |
| 2944 : Builtins::StoreIC_Initialize)); |
2943 CallCode(ic, RelocInfo::CODE_TARGET, instr); | 2945 CallCode(ic, RelocInfo::CODE_TARGET, instr); |
2944 } | 2946 } |
2945 | 2947 |
2946 | 2948 |
2947 void LCodeGen::DoBoundsCheck(LBoundsCheck* instr) { | 2949 void LCodeGen::DoBoundsCheck(LBoundsCheck* instr) { |
2948 __ cmp(ToRegister(instr->index()), ToRegister(instr->length())); | 2950 __ cmp(ToRegister(instr->index()), ToRegister(instr->length())); |
2949 DeoptimizeIf(hs, instr->environment()); | 2951 DeoptimizeIf(hs, instr->environment()); |
2950 } | 2952 } |
2951 | 2953 |
2952 | 2954 |
(...skipping 954 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3907 | 3909 |
3908 | 3910 |
3909 void LCodeGen::DoOsrEntry(LOsrEntry* instr) { | 3911 void LCodeGen::DoOsrEntry(LOsrEntry* instr) { |
3910 Abort("DoOsrEntry unimplemented."); | 3912 Abort("DoOsrEntry unimplemented."); |
3911 } | 3913 } |
3912 | 3914 |
3913 | 3915 |
3914 #undef __ | 3916 #undef __ |
3915 | 3917 |
3916 } } // namespace v8::internal | 3918 } } // namespace v8::internal |
OLD | NEW |