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

Side by Side Diff: src/arm/lithium-codegen-arm.h

Issue 131363008: A64: Synchronize with r15922. (Closed) Base URL: https://v8.googlecode.com/svn/branches/experimental/a64
Patch Set: Created 6 years, 10 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 | Annotate | Revision Log
« no previous file with comments | « src/arm/lithium-arm.cc ('k') | src/arm/lithium-codegen-arm.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 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 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 97 matching lines...) Expand 10 before | Expand all | Expand 10 after
108 // LOperand is loaded into scratch, unless already a register. 108 // LOperand is loaded into scratch, unless already a register.
109 Register EmitLoadRegister(LOperand* op, Register scratch); 109 Register EmitLoadRegister(LOperand* op, Register scratch);
110 110
111 // LOperand must be a double register. 111 // LOperand must be a double register.
112 DwVfpRegister ToDoubleRegister(LOperand* op) const; 112 DwVfpRegister ToDoubleRegister(LOperand* op) const;
113 113
114 // LOperand is loaded into dbl_scratch, unless already a double register. 114 // LOperand is loaded into dbl_scratch, unless already a double register.
115 DwVfpRegister EmitLoadDoubleRegister(LOperand* op, 115 DwVfpRegister EmitLoadDoubleRegister(LOperand* op,
116 SwVfpRegister flt_scratch, 116 SwVfpRegister flt_scratch,
117 DwVfpRegister dbl_scratch); 117 DwVfpRegister dbl_scratch);
118 int ToInteger32(LConstantOperand* op) const; 118 int ToRepresentation(LConstantOperand* op, const Representation& r) const;
119 int32_t ToInteger32(LConstantOperand* op) const;
119 Smi* ToSmi(LConstantOperand* op) const; 120 Smi* ToSmi(LConstantOperand* op) const;
120 double ToDouble(LConstantOperand* op) const; 121 double ToDouble(LConstantOperand* op) const;
121 Operand ToOperand(LOperand* op); 122 Operand ToOperand(LOperand* op);
122 MemOperand ToMemOperand(LOperand* op) const; 123 MemOperand ToMemOperand(LOperand* op) const;
123 // Returns a MemOperand pointing to the high word of a DoubleStackSlot. 124 // Returns a MemOperand pointing to the high word of a DoubleStackSlot.
124 MemOperand ToHighMemOperand(LOperand* op) const; 125 MemOperand ToHighMemOperand(LOperand* op) const;
125 126
126 bool IsInteger32(LConstantOperand* op) const; 127 bool IsInteger32(LConstantOperand* op) const;
127 bool IsSmi(LConstantOperand* op) const; 128 bool IsSmi(LConstantOperand* op) const;
128 Handle<Object> ToHandle(LConstantOperand* op) const; 129 Handle<Object> ToHandle(LConstantOperand* op) const;
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
192 193
193 StrictModeFlag strict_mode_flag() const { 194 StrictModeFlag strict_mode_flag() const {
194 return info()->is_classic_mode() ? kNonStrictMode : kStrictMode; 195 return info()->is_classic_mode() ? kNonStrictMode : kStrictMode;
195 } 196 }
196 197
197 LPlatformChunk* chunk() const { return chunk_; } 198 LPlatformChunk* chunk() const { return chunk_; }
198 Scope* scope() const { return scope_; } 199 Scope* scope() const { return scope_; }
199 HGraph* graph() const { return chunk()->graph(); } 200 HGraph* graph() const { return chunk()->graph(); }
200 201
201 Register scratch0() { return r9; } 202 Register scratch0() { return r9; }
202 DwVfpRegister double_scratch0() { return kScratchDoubleReg; } 203 LowDwVfpRegister double_scratch0() { return kScratchDoubleReg; }
203 204
204 int GetNextEmittedBlock() const; 205 int GetNextEmittedBlock() const;
205 LInstruction* GetNextInstruction(); 206 LInstruction* GetNextInstruction();
206 207
207 void EmitClassOfTest(Label* if_true, 208 void EmitClassOfTest(Label* if_true,
208 Label* if_false, 209 Label* if_false,
209 Handle<String> class_name, 210 Handle<String> class_name,
210 Register input, 211 Register input,
211 Register temporary, 212 Register temporary,
212 Register temporary2); 213 Register temporary2);
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
277 278
278 void RecordSafepointWithLazyDeopt(LInstruction* instr, 279 void RecordSafepointWithLazyDeopt(LInstruction* instr,
279 SafepointMode safepoint_mode); 280 SafepointMode safepoint_mode);
280 281
281 void RegisterEnvironmentForDeoptimization(LEnvironment* environment, 282 void RegisterEnvironmentForDeoptimization(LEnvironment* environment,
282 Safepoint::DeoptMode mode); 283 Safepoint::DeoptMode mode);
283 void DeoptimizeIf(Condition cc, 284 void DeoptimizeIf(Condition cc,
284 LEnvironment* environment, 285 LEnvironment* environment,
285 Deoptimizer::BailoutType bailout_type); 286 Deoptimizer::BailoutType bailout_type);
286 void DeoptimizeIf(Condition cc, LEnvironment* environment); 287 void DeoptimizeIf(Condition cc, LEnvironment* environment);
287 void SoftDeoptimize(LEnvironment* environment); 288 void ApplyCheckIf(Condition cc, LBoundsCheck* check);
288 289
289 void AddToTranslation(Translation* translation, 290 void AddToTranslation(Translation* translation,
290 LOperand* op, 291 LOperand* op,
291 bool is_tagged, 292 bool is_tagged,
292 bool is_uint32); 293 bool is_uint32);
293 void RegisterDependentCodeForEmbeddedMaps(Handle<Code> code); 294 void RegisterDependentCodeForEmbeddedMaps(Handle<Code> code);
294 void PopulateDeoptimizationData(Handle<Code> code); 295 void PopulateDeoptimizationData(Handle<Code> code);
295 int DefineDeoptimizationLiteral(Handle<Object> literal); 296 int DefineDeoptimizationLiteral(Handle<Object> literal);
296 297
297 void PopulateDeoptimizationLiteralsWithInlinedFunctions(); 298 void PopulateDeoptimizationLiteralsWithInlinedFunctions();
(...skipping 193 matching lines...) Expand 10 before | Expand all | Expand 10 after
491 LCodeGen* codegen_; 492 LCodeGen* codegen_;
492 Label entry_; 493 Label entry_;
493 Label exit_; 494 Label exit_;
494 Label* external_exit_; 495 Label* external_exit_;
495 int instruction_index_; 496 int instruction_index_;
496 }; 497 };
497 498
498 } } // namespace v8::internal 499 } } // namespace v8::internal
499 500
500 #endif // V8_ARM_LITHIUM_CODEGEN_ARM_H_ 501 #endif // V8_ARM_LITHIUM_CODEGEN_ARM_H_
OLDNEW
« no previous file with comments | « src/arm/lithium-arm.cc ('k') | src/arm/lithium-codegen-arm.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698