Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(85)

Side by Side Diff: src/s390/macro-assembler-s390.h

Issue 2732273003: Disentangle assembler from isolate. (Closed)
Patch Set: Address feedback. Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/s390/assembler-s390-inl.h ('k') | src/s390/macro-assembler-s390.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 the V8 project authors. All rights reserved. 1 // Copyright 2014 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 #ifndef V8_S390_MACRO_ASSEMBLER_S390_H_ 5 #ifndef V8_S390_MACRO_ASSEMBLER_S390_H_
6 #define V8_S390_MACRO_ASSEMBLER_S390_H_ 6 #define V8_S390_MACRO_ASSEMBLER_S390_H_
7 7
8 #include "src/assembler.h" 8 #include "src/assembler.h"
9 #include "src/bailout-reason.h" 9 #include "src/bailout-reason.h"
10 #include "src/frames.h" 10 #include "src/frames.h"
(...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after
161 #define ShiftRightArithP ShiftRightArith 161 #define ShiftRightArithP ShiftRightArith
162 162
163 #endif 163 #endif
164 164
165 // MacroAssembler implements a collection of frequently used macros. 165 // MacroAssembler implements a collection of frequently used macros.
166 class MacroAssembler : public Assembler { 166 class MacroAssembler : public Assembler {
167 public: 167 public:
168 MacroAssembler(Isolate* isolate, void* buffer, int size, 168 MacroAssembler(Isolate* isolate, void* buffer, int size,
169 CodeObjectRequired create_code_object); 169 CodeObjectRequired create_code_object);
170 170
171 Isolate* isolate() const { return isolate_; }
172
171 // Returns the size of a call in instructions. 173 // Returns the size of a call in instructions.
172 static int CallSize(Register target); 174 static int CallSize(Register target);
173 int CallSize(Address target, RelocInfo::Mode rmode, Condition cond = al); 175 int CallSize(Address target, RelocInfo::Mode rmode, Condition cond = al);
174 static int CallSizeNotPredictableCodeSize(Address target, 176 static int CallSizeNotPredictableCodeSize(Address target,
175 RelocInfo::Mode rmode, 177 RelocInfo::Mode rmode,
176 Condition cond = al); 178 Condition cond = al);
177 179
178 // Jump, Call, and Ret pseudo instructions implementing inter-working. 180 // Jump, Call, and Ret pseudo instructions implementing inter-working.
179 void Jump(Register target); 181 void Jump(Register target);
180 void JumpToJSEntry(Register target); 182 void JumpToJSEntry(Register target);
(...skipping 1627 matching lines...) Expand 10 before | Expand all | Expand 10 after
1808 static const RegList kSafepointSavedRegisters; 1810 static const RegList kSafepointSavedRegisters;
1809 static const int kNumSafepointSavedRegisters; 1811 static const int kNumSafepointSavedRegisters;
1810 1812
1811 // Compute memory operands for safepoint stack slots. 1813 // Compute memory operands for safepoint stack slots.
1812 static int SafepointRegisterStackIndex(int reg_code); 1814 static int SafepointRegisterStackIndex(int reg_code);
1813 MemOperand SafepointRegisterSlot(Register reg); 1815 MemOperand SafepointRegisterSlot(Register reg);
1814 MemOperand SafepointRegistersAndDoublesSlot(Register reg); 1816 MemOperand SafepointRegistersAndDoublesSlot(Register reg);
1815 1817
1816 bool generating_stub_; 1818 bool generating_stub_;
1817 bool has_frame_; 1819 bool has_frame_;
1820 Isolate* isolate_;
1818 // This handle will be patched with the code object on installation. 1821 // This handle will be patched with the code object on installation.
1819 Handle<Object> code_object_; 1822 Handle<Object> code_object_;
1820 1823
1821 // Needs access to SafepointRegisterStackIndex for compiled frame 1824 // Needs access to SafepointRegisterStackIndex for compiled frame
1822 // traversal. 1825 // traversal.
1823 friend class StandardFrame; 1826 friend class StandardFrame;
1824 }; 1827 };
1825 1828
1826 // The code patcher is used to patch (typically) small parts of code e.g. for 1829 // The code patcher is used to patch (typically) small parts of code e.g. for
1827 // debugging and other types of instrumentation. When using the code patcher 1830 // debugging and other types of instrumentation. When using the code patcher
(...skipping 28 matching lines...) Expand all
1856 inline MemOperand NativeContextMemOperand() { 1859 inline MemOperand NativeContextMemOperand() {
1857 return ContextMemOperand(cp, Context::NATIVE_CONTEXT_INDEX); 1860 return ContextMemOperand(cp, Context::NATIVE_CONTEXT_INDEX);
1858 } 1861 }
1859 1862
1860 #define ACCESS_MASM(masm) masm-> 1863 #define ACCESS_MASM(masm) masm->
1861 1864
1862 } // namespace internal 1865 } // namespace internal
1863 } // namespace v8 1866 } // namespace v8
1864 1867
1865 #endif // V8_S390_MACRO_ASSEMBLER_S390_H_ 1868 #endif // V8_S390_MACRO_ASSEMBLER_S390_H_
OLDNEW
« no previous file with comments | « src/s390/assembler-s390-inl.h ('k') | src/s390/macro-assembler-s390.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698