| 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 #if V8_TARGET_ARCH_ARM | 5 #if V8_TARGET_ARCH_ARM | 
| 6 | 6 | 
| 7 #include "src/code-factory.h" | 7 #include "src/code-factory.h" | 
| 8 #include "src/code-stubs.h" | 8 #include "src/code-stubs.h" | 
| 9 #include "src/codegen.h" | 9 #include "src/codegen.h" | 
| 10 #include "src/compiler.h" | 10 #include "src/compiler.h" | 
| (...skipping 1480 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 1491   Label materialized; | 1491   Label materialized; | 
| 1492   // Registers will be used as follows: | 1492   // Registers will be used as follows: | 
| 1493   // r5 = materialized value (RegExp literal) | 1493   // r5 = materialized value (RegExp literal) | 
| 1494   // r4 = JS function, literals array | 1494   // r4 = JS function, literals array | 
| 1495   // r3 = literal index | 1495   // r3 = literal index | 
| 1496   // r2 = RegExp pattern | 1496   // r2 = RegExp pattern | 
| 1497   // r1 = RegExp flags | 1497   // r1 = RegExp flags | 
| 1498   // r0 = RegExp literal clone | 1498   // r0 = RegExp literal clone | 
| 1499   __ ldr(r0, MemOperand(fp, JavaScriptFrameConstants::kFunctionOffset)); | 1499   __ ldr(r0, MemOperand(fp, JavaScriptFrameConstants::kFunctionOffset)); | 
| 1500   __ ldr(r4, FieldMemOperand(r0, JSFunction::kLiteralsOffset)); | 1500   __ ldr(r4, FieldMemOperand(r0, JSFunction::kLiteralsOffset)); | 
| 1501   int literal_offset = | 1501   int literal_offset = LiteralsArray::OffsetOfLiteralAt(expr->literal_index()); | 
| 1502       FixedArray::kHeaderSize + expr->literal_index() * kPointerSize; |  | 
| 1503   __ ldr(r5, FieldMemOperand(r4, literal_offset)); | 1502   __ ldr(r5, FieldMemOperand(r4, literal_offset)); | 
| 1504   __ LoadRoot(ip, Heap::kUndefinedValueRootIndex); | 1503   __ LoadRoot(ip, Heap::kUndefinedValueRootIndex); | 
| 1505   __ cmp(r5, ip); | 1504   __ cmp(r5, ip); | 
| 1506   __ b(ne, &materialized); | 1505   __ b(ne, &materialized); | 
| 1507 | 1506 | 
| 1508   // Create regexp literal using runtime function. | 1507   // Create regexp literal using runtime function. | 
| 1509   // Result will be in r0. | 1508   // Result will be in r0. | 
| 1510   __ mov(r3, Operand(Smi::FromInt(expr->literal_index()))); | 1509   __ mov(r3, Operand(Smi::FromInt(expr->literal_index()))); | 
| 1511   __ mov(r2, Operand(expr->pattern())); | 1510   __ mov(r2, Operand(expr->pattern())); | 
| 1512   __ mov(r1, Operand(expr->flags())); | 1511   __ mov(r1, Operand(expr->flags())); | 
| (...skipping 3757 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 5270   DCHECK(interrupt_address == | 5269   DCHECK(interrupt_address == | 
| 5271          isolate->builtins()->OsrAfterStackCheck()->entry()); | 5270          isolate->builtins()->OsrAfterStackCheck()->entry()); | 
| 5272   return OSR_AFTER_STACK_CHECK; | 5271   return OSR_AFTER_STACK_CHECK; | 
| 5273 } | 5272 } | 
| 5274 | 5273 | 
| 5275 | 5274 | 
| 5276 }  // namespace internal | 5275 }  // namespace internal | 
| 5277 }  // namespace v8 | 5276 }  // namespace v8 | 
| 5278 | 5277 | 
| 5279 #endif  // V8_TARGET_ARCH_ARM | 5278 #endif  // V8_TARGET_ARCH_ARM | 
| OLD | NEW | 
|---|