| OLD | NEW |
| 1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "src/v8.h" | 5 #include "src/v8.h" |
| 6 | 6 |
| 7 #if V8_TARGET_ARCH_ARM | 7 #if V8_TARGET_ARCH_ARM |
| 8 | 8 |
| 9 #include "src/arm/assembler-arm.h" | 9 #include "src/arm/assembler-arm.h" |
| 10 #include "src/code-stubs.h" | 10 #include "src/code-stubs.h" |
| (...skipping 855 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 866 // -- r0 : value | 866 // -- r0 : value |
| 867 // -- r1 : key | 867 // -- r1 : key |
| 868 // -- r2 : receiver | 868 // -- r2 : receiver |
| 869 // -- lr : return address | 869 // -- lr : return address |
| 870 // ----------------------------------- | 870 // ----------------------------------- |
| 871 | 871 |
| 872 // Push receiver, key and value for runtime call. | 872 // Push receiver, key and value for runtime call. |
| 873 __ Push(r2, r1, r0); | 873 __ Push(r2, r1, r0); |
| 874 | 874 |
| 875 __ mov(r0, Operand(Smi::FromInt(strict_mode))); // Strict mode. | 875 __ mov(r0, Operand(Smi::FromInt(strict_mode))); // Strict mode. |
| 876 __ Push(r1, r0); | 876 __ Push(r0); |
| 877 | 877 |
| 878 __ TailCallRuntime(Runtime::kSetProperty, 4, 1); | 878 __ TailCallRuntime(Runtime::kSetProperty, 4, 1); |
| 879 } | 879 } |
| 880 | 880 |
| 881 | 881 |
| 882 static void KeyedStoreGenerateGenericHelper( | 882 static void KeyedStoreGenerateGenericHelper( |
| 883 MacroAssembler* masm, | 883 MacroAssembler* masm, |
| 884 Label* fast_object, | 884 Label* fast_object, |
| 885 Label* fast_double, | 885 Label* fast_double, |
| 886 Label* slow, | 886 Label* slow, |
| (...skipping 319 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1206 StrictMode strict_mode) { | 1206 StrictMode strict_mode) { |
| 1207 // ----------- S t a t e ------------- | 1207 // ----------- S t a t e ------------- |
| 1208 // -- r0 : value | 1208 // -- r0 : value |
| 1209 // -- r1 : receiver | 1209 // -- r1 : receiver |
| 1210 // -- r2 : name | 1210 // -- r2 : name |
| 1211 // -- lr : return address | 1211 // -- lr : return address |
| 1212 // ----------------------------------- | 1212 // ----------------------------------- |
| 1213 | 1213 |
| 1214 __ Push(r1, r2, r0); | 1214 __ Push(r1, r2, r0); |
| 1215 | 1215 |
| 1216 __ mov(r1, Operand(Smi::FromInt(NONE))); // PropertyAttributes | |
| 1217 __ mov(r0, Operand(Smi::FromInt(strict_mode))); | 1216 __ mov(r0, Operand(Smi::FromInt(strict_mode))); |
| 1218 __ Push(r1, r0); | 1217 __ Push(r0); |
| 1219 | 1218 |
| 1220 // Do tail-call to runtime routine. | 1219 // Do tail-call to runtime routine. |
| 1221 __ TailCallRuntime(Runtime::kSetProperty, 5, 1); | 1220 __ TailCallRuntime(Runtime::kSetProperty, 4, 1); |
| 1222 } | 1221 } |
| 1223 | 1222 |
| 1224 | 1223 |
| 1225 #undef __ | 1224 #undef __ |
| 1226 | 1225 |
| 1227 | 1226 |
| 1228 Condition CompareIC::ComputeCondition(Token::Value op) { | 1227 Condition CompareIC::ComputeCondition(Token::Value op) { |
| 1229 switch (op) { | 1228 switch (op) { |
| 1230 case Token::EQ_STRICT: | 1229 case Token::EQ_STRICT: |
| 1231 case Token::EQ: | 1230 case Token::EQ: |
| (...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1315 } else { | 1314 } else { |
| 1316 ASSERT(Assembler::GetCondition(branch_instr) == ne); | 1315 ASSERT(Assembler::GetCondition(branch_instr) == ne); |
| 1317 patcher.EmitCondition(eq); | 1316 patcher.EmitCondition(eq); |
| 1318 } | 1317 } |
| 1319 } | 1318 } |
| 1320 | 1319 |
| 1321 | 1320 |
| 1322 } } // namespace v8::internal | 1321 } } // namespace v8::internal |
| 1323 | 1322 |
| 1324 #endif // V8_TARGET_ARCH_ARM | 1323 #endif // V8_TARGET_ARCH_ARM |
| OLD | NEW |