Chromium Code Reviews| Index: src/code-stubs.cc |
| diff --git a/src/code-stubs.cc b/src/code-stubs.cc |
| index b56beb8d524bf449d67bc9bf34705e586f97727a..08ca32ed0d5fe76c65afe71f4b9e3b66a821c14c 100644 |
| --- a/src/code-stubs.cc |
| +++ b/src/code-stubs.cc |
| @@ -472,6 +472,32 @@ void StringLengthStub::GenerateAssembly( |
| assembler->Return(result); |
| } |
| +void AllocateHeapNumberStub::GenerateAssembly( |
| + compiler::CodeStubAssembler* assembler) const { |
| + compiler::Node* result = assembler->Allocate( |
| + HeapNumber::kSize, compiler::AllocationFlags::kTagObject); |
| + |
| + assembler->StoreNoWriteBarrier( |
| + MachineRepresentation::kTagged, |
| + assembler->IntPtrAdd( |
|
Benedikt Meurer
2016/02/25 13:00:40
Please don't nest these computations, add separate
epertoso
2016/02/25 13:26:53
Done.
|
| + result, |
| + assembler->IntPtrConstant(HeapObject::kMapOffset - kHeapObjectTag)), |
| + assembler->HeapConstant(isolate()->factory()->heap_number_map())); |
| + assembler->Return(result); |
| +} |
| + |
| +void AllocateMutableHeapNumberStub::GenerateAssembly( |
| + compiler::CodeStubAssembler* assembler) const { |
| + compiler::Node* result = assembler->Allocate( |
| + HeapNumber::kSize, compiler::AllocationFlags::kTagObject); |
| + assembler->StoreNoWriteBarrier( |
|
Benedikt Meurer
2016/02/25 13:00:40
Same here.
epertoso
2016/02/25 13:26:53
Done.
|
| + MachineRepresentation::kTagged, |
| + assembler->IntPtrAdd( |
| + result, |
| + assembler->IntPtrConstant(HeapObject::kMapOffset - kHeapObjectTag)), |
| + assembler->HeapConstant(isolate()->factory()->mutable_heap_number_map())); |
| + assembler->Return(result); |
| +} |
| template<class StateType> |
| void HydrogenCodeStub::TraceTransition(StateType from, StateType to) { |