OLD | NEW |
1 // Copyright 2015 the V8 project authors. All rights reserved. | 1 // Copyright 2015 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/compiler/code-stub-assembler.h" | 5 #include "src/compiler/code-stub-assembler.h" |
6 | 6 |
7 #include <ostream> | 7 #include <ostream> |
8 | 8 |
9 #include "src/code-factory.h" | 9 #include "src/code-factory.h" |
10 #include "src/compiler/graph.h" | 10 #include "src/compiler/graph.h" |
(...skipping 269 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
280 } | 280 } |
281 | 281 |
282 Node* CodeStubAssembler::AllocateRawUnaligned(Node* size_in_bytes, | 282 Node* CodeStubAssembler::AllocateRawUnaligned(Node* size_in_bytes, |
283 AllocationFlags flags, | 283 AllocationFlags flags, |
284 Node* top_address, | 284 Node* top_address, |
285 Node* limit_address) { | 285 Node* limit_address) { |
286 Node* top = Load(MachineType::Pointer(), top_address); | 286 Node* top = Load(MachineType::Pointer(), top_address); |
287 Node* limit = Load(MachineType::Pointer(), limit_address); | 287 Node* limit = Load(MachineType::Pointer(), limit_address); |
288 | 288 |
289 // If there's not enough space, call the runtime. | 289 // If there's not enough space, call the runtime. |
290 RawMachineLabel runtime_call, no_runtime_call, merge_runtime; | 290 RawMachineLabel runtime_call(RawMachineLabel::kDeferred), no_runtime_call, |
| 291 merge_runtime; |
291 raw_assembler_->Branch( | 292 raw_assembler_->Branch( |
292 raw_assembler_->IntPtrLessThan(IntPtrSub(limit, top), size_in_bytes), | 293 raw_assembler_->IntPtrLessThan(IntPtrSub(limit, top), size_in_bytes), |
293 &runtime_call, &no_runtime_call); | 294 &runtime_call, &no_runtime_call); |
294 | 295 |
295 raw_assembler_->Bind(&runtime_call); | 296 raw_assembler_->Bind(&runtime_call); |
296 // AllocateInTargetSpace does not use the context. | 297 // AllocateInTargetSpace does not use the context. |
297 Node* context = IntPtrConstant(0); | 298 Node* context = IntPtrConstant(0); |
298 Node* runtime_flags = SmiTag(Int32Constant( | 299 Node* runtime_flags = SmiTag(Int32Constant( |
299 AllocateDoubleAlignFlag::encode(false) | | 300 AllocateDoubleAlignFlag::encode(false) | |
300 AllocateTargetSpace::encode(flags & kPretenured | 301 AllocateTargetSpace::encode(flags & kPretenured |
(...skipping 626 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
927 } | 928 } |
928 } | 929 } |
929 } | 930 } |
930 | 931 |
931 bound_ = true; | 932 bound_ = true; |
932 } | 933 } |
933 | 934 |
934 } // namespace compiler | 935 } // namespace compiler |
935 } // namespace internal | 936 } // namespace internal |
936 } // namespace v8 | 937 } // namespace v8 |
OLD | NEW |