| Index: runtime/vm/flow_graph_compiler.h
|
| ===================================================================
|
| --- runtime/vm/flow_graph_compiler.h (revision 39726)
|
| +++ runtime/vm/flow_graph_compiler.h (working copy)
|
| @@ -61,7 +61,7 @@
|
|
|
| bool IsScratchLocation(Location loc);
|
| intptr_t AllocateScratchRegister(Location::Kind kind,
|
| - intptr_t blocked,
|
| + uword blocked_mask,
|
| intptr_t first_free_register,
|
| intptr_t last_free_register,
|
| bool* spilled);
|
| @@ -96,8 +96,11 @@
|
| void StoreObject(const Address& dst, const Object& obj);
|
| void Exchange(Register reg, const Address& mem);
|
| void Exchange(const Address& mem1, const Address& mem2);
|
| - void Exchange(Register reg, intptr_t stack_offset);
|
| - void Exchange(intptr_t stack_offset1, intptr_t stack_offset2);
|
| + void Exchange(Register reg, Register base_reg, intptr_t stack_offset);
|
| + void Exchange(Register base_reg1,
|
| + intptr_t stack_offset1,
|
| + Register base_reg2,
|
| + intptr_t stack_offset2);
|
|
|
| FlowGraphCompiler* compiler_;
|
|
|
| @@ -289,6 +292,10 @@
|
| bool CanOSRFunction() const;
|
| bool is_optimizing() const { return is_optimizing_; }
|
|
|
| + void EnterIntrinsicMode();
|
| + void ExitIntrinsicMode();
|
| + bool intrinsic_mode() const { return intrinsic_mode_; }
|
| +
|
| bool ForceSlowPathForStackOverflow() const;
|
|
|
| const GrowableArray<BlockInfo*>& block_info() const { return block_info_; }
|
| @@ -617,6 +624,9 @@
|
| const bool is_optimizing_;
|
| // Set to true if optimized code has IC calls.
|
| bool may_reoptimize_;
|
| + // True while emitting intrinsic code.
|
| + bool intrinsic_mode_;
|
| + Label intrinsic_deopt_label_;
|
|
|
| const Class& double_class_;
|
| const Class& mint_class_;
|
|
|