Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(151)

Side by Side Diff: src/full-codegen/mips/full-codegen-mips.cc

Issue 1374723002: Introduce LiteralsArray to hide it's implementation. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Fix build break. Created 5 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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_MIPS 5 #if V8_TARGET_ARCH_MIPS
6 6
7 // Note on Mips implementation: 7 // Note on Mips implementation:
8 // 8 //
9 // The result_register() for mips is the 'v0' register, which is defined 9 // The result_register() for mips is the 'v0' register, which is defined
10 // by the ABI to contain function return values. However, the first 10 // by the ABI to contain function return values. However, the first
(...skipping 1479 matching lines...) Expand 10 before | Expand all | Expand 10 after
1490 Label materialized; 1490 Label materialized;
1491 // Registers will be used as follows: 1491 // Registers will be used as follows:
1492 // t1 = materialized value (RegExp literal) 1492 // t1 = materialized value (RegExp literal)
1493 // t0 = JS function, literals array 1493 // t0 = JS function, literals array
1494 // a3 = literal index 1494 // a3 = literal index
1495 // a2 = RegExp pattern 1495 // a2 = RegExp pattern
1496 // a1 = RegExp flags 1496 // a1 = RegExp flags
1497 // a0 = RegExp literal clone 1497 // a0 = RegExp literal clone
1498 __ lw(a0, MemOperand(fp, JavaScriptFrameConstants::kFunctionOffset)); 1498 __ lw(a0, MemOperand(fp, JavaScriptFrameConstants::kFunctionOffset));
1499 __ lw(t0, FieldMemOperand(a0, JSFunction::kLiteralsOffset)); 1499 __ lw(t0, FieldMemOperand(a0, JSFunction::kLiteralsOffset));
1500 int literal_offset = 1500 int literal_offset = LiteralsArray::OffsetOfLiteralAt(expr->literal_index());
1501 FixedArray::kHeaderSize + expr->literal_index() * kPointerSize;
1502 __ lw(t1, FieldMemOperand(t0, literal_offset)); 1501 __ lw(t1, FieldMemOperand(t0, literal_offset));
1503 __ LoadRoot(at, Heap::kUndefinedValueRootIndex); 1502 __ LoadRoot(at, Heap::kUndefinedValueRootIndex);
1504 __ Branch(&materialized, ne, t1, Operand(at)); 1503 __ Branch(&materialized, ne, t1, Operand(at));
1505 1504
1506 // Create regexp literal using runtime function. 1505 // Create regexp literal using runtime function.
1507 // Result will be in v0. 1506 // Result will be in v0.
1508 __ li(a3, Operand(Smi::FromInt(expr->literal_index()))); 1507 __ li(a3, Operand(Smi::FromInt(expr->literal_index())));
1509 __ li(a2, Operand(expr->pattern())); 1508 __ li(a2, Operand(expr->pattern()));
1510 __ li(a1, Operand(expr->flags())); 1509 __ li(a1, Operand(expr->flags()));
1511 __ Push(t0, a3, a2, a1); 1510 __ Push(t0, a3, a2, a1);
(...skipping 3728 matching lines...) Expand 10 before | Expand all | Expand 10 after
5240 reinterpret_cast<uint32_t>( 5239 reinterpret_cast<uint32_t>(
5241 isolate->builtins()->OsrAfterStackCheck()->entry())); 5240 isolate->builtins()->OsrAfterStackCheck()->entry()));
5242 return OSR_AFTER_STACK_CHECK; 5241 return OSR_AFTER_STACK_CHECK;
5243 } 5242 }
5244 5243
5245 5244
5246 } // namespace internal 5245 } // namespace internal
5247 } // namespace v8 5246 } // namespace v8
5248 5247
5249 #endif // V8_TARGET_ARCH_MIPS 5248 #endif // V8_TARGET_ARCH_MIPS
OLDNEW
« no previous file with comments | « src/full-codegen/ia32/full-codegen-ia32.cc ('k') | src/full-codegen/mips64/full-codegen-mips64.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698