OLD | NEW |
1 // Copyright 2010 the V8 project authors. All rights reserved. | 1 // Copyright 2010 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
132 // Store an object to the root table. | 132 // Store an object to the root table. |
133 void StoreRoot(Register source, | 133 void StoreRoot(Register source, |
134 Heap::RootListIndex index, | 134 Heap::RootListIndex index, |
135 Condition cond = al); | 135 Condition cond = al); |
136 | 136 |
137 | 137 |
138 // Check if object is in new space. | 138 // Check if object is in new space. |
139 // scratch can be object itself, but it will be clobbered. | 139 // scratch can be object itself, but it will be clobbered. |
140 void InNewSpace(Register object, | 140 void InNewSpace(Register object, |
141 Register scratch, | 141 Register scratch, |
142 Condition cc, // eq for new space, ne otherwise | 142 Condition cond, // eq for new space, ne otherwise |
143 Label* branch); | 143 Label* branch); |
144 | 144 |
145 | 145 |
146 // For the page containing |object| mark the region covering [address] | 146 // For the page containing |object| mark the region covering [address] |
147 // dirty. The object address must be in the first 8K of an allocated page. | 147 // dirty. The object address must be in the first 8K of an allocated page. |
148 void RecordWriteHelper(Register object, | 148 void RecordWriteHelper(Register object, |
149 Register address, | 149 Register address, |
150 Register scratch); | 150 Register scratch); |
151 | 151 |
152 // For the page containing |object| mark the region covering | 152 // For the page containing |object| mark the region covering |
(...skipping 535 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
688 Register scratch1, Register scratch2); | 688 Register scratch1, Register scratch2); |
689 void IncrementCounter(StatsCounter* counter, int value, | 689 void IncrementCounter(StatsCounter* counter, int value, |
690 Register scratch1, Register scratch2); | 690 Register scratch1, Register scratch2); |
691 void DecrementCounter(StatsCounter* counter, int value, | 691 void DecrementCounter(StatsCounter* counter, int value, |
692 Register scratch1, Register scratch2); | 692 Register scratch1, Register scratch2); |
693 | 693 |
694 | 694 |
695 // --------------------------------------------------------------------------- | 695 // --------------------------------------------------------------------------- |
696 // Debugging | 696 // Debugging |
697 | 697 |
698 // Calls Abort(msg) if the condition cc is not satisfied. | 698 // Calls Abort(msg) if the condition cond is not satisfied. |
699 // Use --debug_code to enable. | 699 // Use --debug_code to enable. |
700 void Assert(Condition cc, const char* msg); | 700 void Assert(Condition cond, const char* msg); |
701 void AssertRegisterIsRoot(Register reg, Heap::RootListIndex index); | 701 void AssertRegisterIsRoot(Register reg, Heap::RootListIndex index); |
702 void AssertFastElements(Register elements); | 702 void AssertFastElements(Register elements); |
703 | 703 |
704 // Like Assert(), but always enabled. | 704 // Like Assert(), but always enabled. |
705 void Check(Condition cc, const char* msg); | 705 void Check(Condition cond, const char* msg); |
706 | 706 |
707 // Print a message to stdout and abort execution. | 707 // Print a message to stdout and abort execution. |
708 void Abort(const char* msg); | 708 void Abort(const char* msg); |
709 | 709 |
710 // Verify restrictions about code generated in stubs. | 710 // Verify restrictions about code generated in stubs. |
711 void set_generating_stub(bool value) { generating_stub_ = value; } | 711 void set_generating_stub(bool value) { generating_stub_ = value; } |
712 bool generating_stub() { return generating_stub_; } | 712 bool generating_stub() { return generating_stub_; } |
713 void set_allow_stub_calls(bool value) { allow_stub_calls_ = value; } | 713 void set_allow_stub_calls(bool value) { allow_stub_calls_ = value; } |
714 bool allow_stub_calls() { return allow_stub_calls_; } | 714 bool allow_stub_calls() { return allow_stub_calls_; } |
715 | 715 |
(...skipping 174 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
890 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) | 890 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) |
891 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> | 891 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> |
892 #else | 892 #else |
893 #define ACCESS_MASM(masm) masm-> | 893 #define ACCESS_MASM(masm) masm-> |
894 #endif | 894 #endif |
895 | 895 |
896 | 896 |
897 } } // namespace v8::internal | 897 } } // namespace v8::internal |
898 | 898 |
899 #endif // V8_ARM_MACRO_ASSEMBLER_ARM_H_ | 899 #endif // V8_ARM_MACRO_ASSEMBLER_ARM_H_ |
OLD | NEW |