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_MIPS | 7 #if V8_TARGET_ARCH_MIPS |
8 | 8 |
9 // Note on Mips implementation: | 9 // Note on Mips implementation: |
10 // | 10 // |
(...skipping 1624 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1635 __ push(a1); | 1635 __ push(a1); |
1636 } else { | 1636 } else { |
1637 VisitForStackValue(expression); | 1637 VisitForStackValue(expression); |
1638 } | 1638 } |
1639 } | 1639 } |
1640 | 1640 |
1641 | 1641 |
1642 void FullCodeGenerator::VisitObjectLiteral(ObjectLiteral* expr) { | 1642 void FullCodeGenerator::VisitObjectLiteral(ObjectLiteral* expr) { |
1643 Comment cmnt(masm_, "[ ObjectLiteral"); | 1643 Comment cmnt(masm_, "[ ObjectLiteral"); |
1644 | 1644 |
1645 expr->BuildConstantProperties(isolate()); | |
1646 Handle<FixedArray> constant_properties = expr->constant_properties(); | 1645 Handle<FixedArray> constant_properties = expr->constant_properties(); |
1647 __ lw(a3, MemOperand(fp, JavaScriptFrameConstants::kFunctionOffset)); | 1646 __ lw(a3, MemOperand(fp, JavaScriptFrameConstants::kFunctionOffset)); |
1648 __ lw(a3, FieldMemOperand(a3, JSFunction::kLiteralsOffset)); | 1647 __ lw(a3, FieldMemOperand(a3, JSFunction::kLiteralsOffset)); |
1649 __ li(a2, Operand(Smi::FromInt(expr->literal_index()))); | 1648 __ li(a2, Operand(Smi::FromInt(expr->literal_index()))); |
1650 __ li(a1, Operand(constant_properties)); | 1649 __ li(a1, Operand(constant_properties)); |
1651 __ li(a0, Operand(Smi::FromInt(expr->ComputeFlags()))); | 1650 __ li(a0, Operand(Smi::FromInt(expr->ComputeFlags()))); |
1652 if (MustCreateObjectLiteralWithRuntime(expr)) { | 1651 if (MustCreateObjectLiteralWithRuntime(expr)) { |
1653 __ Push(a3, a2, a1, a0); | 1652 __ Push(a3, a2, a1, a0); |
1654 __ CallRuntime(Runtime::kCreateObjectLiteral, 4); | 1653 __ CallRuntime(Runtime::kCreateObjectLiteral, 4); |
1655 } else { | 1654 } else { |
(...skipping 3863 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5519 reinterpret_cast<uint32_t>( | 5518 reinterpret_cast<uint32_t>( |
5520 isolate->builtins()->OsrAfterStackCheck()->entry())); | 5519 isolate->builtins()->OsrAfterStackCheck()->entry())); |
5521 return OSR_AFTER_STACK_CHECK; | 5520 return OSR_AFTER_STACK_CHECK; |
5522 } | 5521 } |
5523 | 5522 |
5524 | 5523 |
5525 } // namespace internal | 5524 } // namespace internal |
5526 } // namespace v8 | 5525 } // namespace v8 |
5527 | 5526 |
5528 #endif // V8_TARGET_ARCH_MIPS | 5527 #endif // V8_TARGET_ARCH_MIPS |
OLD | NEW |