OLD | NEW |
1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 the V8 project authors. All rights reserved. |
2 // | 2 // |
3 // Use of this source code is governed by a BSD-style license that can be | 3 // Use of this source code is governed by a BSD-style license that can be |
4 // found in the LICENSE file. | 4 // found in the LICENSE file. |
5 | 5 |
6 #include "src/crankshaft/s390/lithium-codegen-s390.h" | 6 #include "src/crankshaft/s390/lithium-codegen-s390.h" |
7 | 7 |
8 #include "src/base/bits.h" | 8 #include "src/base/bits.h" |
9 #include "src/code-factory.h" | 9 #include "src/code-factory.h" |
10 #include "src/code-stubs.h" | 10 #include "src/code-stubs.h" |
(...skipping 5219 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5230 } else { | 5230 } else { |
5231 flags = AllocateTargetSpace::update(flags, NEW_SPACE); | 5231 flags = AllocateTargetSpace::update(flags, NEW_SPACE); |
5232 } | 5232 } |
5233 __ Push(Smi::FromInt(flags)); | 5233 __ Push(Smi::FromInt(flags)); |
5234 | 5234 |
5235 CallRuntimeFromDeferred(Runtime::kAllocateInTargetSpace, 2, instr, | 5235 CallRuntimeFromDeferred(Runtime::kAllocateInTargetSpace, 2, instr, |
5236 instr->context()); | 5236 instr->context()); |
5237 __ StoreToSafepointRegisterSlot(r2, result); | 5237 __ StoreToSafepointRegisterSlot(r2, result); |
5238 } | 5238 } |
5239 | 5239 |
5240 void LCodeGen::DoToFastProperties(LToFastProperties* instr) { | |
5241 DCHECK(ToRegister(instr->value()).is(r2)); | |
5242 __ push(r2); | |
5243 CallRuntime(Runtime::kToFastProperties, 1, instr); | |
5244 } | |
5245 | |
5246 void LCodeGen::DoTypeof(LTypeof* instr) { | 5240 void LCodeGen::DoTypeof(LTypeof* instr) { |
5247 DCHECK(ToRegister(instr->value()).is(r5)); | 5241 DCHECK(ToRegister(instr->value()).is(r5)); |
5248 DCHECK(ToRegister(instr->result()).is(r2)); | 5242 DCHECK(ToRegister(instr->result()).is(r2)); |
5249 Label end, do_call; | 5243 Label end, do_call; |
5250 Register value_register = ToRegister(instr->value()); | 5244 Register value_register = ToRegister(instr->value()); |
5251 __ JumpIfNotSmi(value_register, &do_call); | 5245 __ JumpIfNotSmi(value_register, &do_call); |
5252 __ mov(r2, Operand(isolate()->factory()->number_string())); | 5246 __ mov(r2, Operand(isolate()->factory()->number_string())); |
5253 __ b(&end); | 5247 __ b(&end); |
5254 __ bind(&do_call); | 5248 __ bind(&do_call); |
5255 TypeofStub stub(isolate()); | 5249 TypeofStub stub(isolate()); |
(...skipping 317 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5573 } | 5567 } |
5574 | 5568 |
5575 void LCodeGen::DoStoreFrameContext(LStoreFrameContext* instr) { | 5569 void LCodeGen::DoStoreFrameContext(LStoreFrameContext* instr) { |
5576 Register context = ToRegister(instr->context()); | 5570 Register context = ToRegister(instr->context()); |
5577 __ StoreP(context, MemOperand(fp, StandardFrameConstants::kContextOffset)); | 5571 __ StoreP(context, MemOperand(fp, StandardFrameConstants::kContextOffset)); |
5578 } | 5572 } |
5579 | 5573 |
5580 #undef __ | 5574 #undef __ |
5581 } // namespace internal | 5575 } // namespace internal |
5582 } // namespace v8 | 5576 } // namespace v8 |
OLD | NEW |