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

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

Issue 141363005: A64: Synchronize with r15204. (Closed) Base URL: https://v8.googlecode.com/svn/branches/experimental/a64
Patch Set: Created 6 years, 11 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/mips/ic-mips.cc ('k') | src/mips/lithium-codegen-mips.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 151 matching lines...) Expand 10 before | Expand all | Expand 10 after
162 MemOperand PrepareKeyedOperand(Register key, 162 MemOperand PrepareKeyedOperand(Register key,
163 Register base, 163 Register base,
164 bool key_is_constant, 164 bool key_is_constant,
165 int constant_key, 165 int constant_key,
166 int element_size, 166 int element_size,
167 int shift_size, 167 int shift_size,
168 int additional_index, 168 int additional_index,
169 int additional_offset); 169 int additional_offset);
170 170
171 // Emit frame translation commands for an environment. 171 // Emit frame translation commands for an environment.
172 void WriteTranslation(LEnvironment* environment, 172 void WriteTranslation(LEnvironment* environment, Translation* translation);
173 Translation* translation,
174 int* arguments_index,
175 int* arguments_count);
176 173
177 // Declare methods that deal with the individual node types. 174 // Declare methods that deal with the individual node types.
178 #define DECLARE_DO(type) void Do##type(L##type* node); 175 #define DECLARE_DO(type) void Do##type(L##type* node);
179 LITHIUM_CONCRETE_INSTRUCTION_LIST(DECLARE_DO) 176 LITHIUM_CONCRETE_INSTRUCTION_LIST(DECLARE_DO)
180 #undef DECLARE_DO 177 #undef DECLARE_DO
181 178
182 private: 179 private:
183 enum Status { 180 enum Status {
184 UNUSED, 181 UNUSED,
185 GENERATING, 182 GENERATING,
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after
288 LEnvironment* environment, 285 LEnvironment* environment,
289 Register src1 = zero_reg, 286 Register src1 = zero_reg,
290 const Operand& src2 = Operand(zero_reg)); 287 const Operand& src2 = Operand(zero_reg));
291 void SoftDeoptimize(LEnvironment* environment, 288 void SoftDeoptimize(LEnvironment* environment,
292 Register src1 = zero_reg, 289 Register src1 = zero_reg,
293 const Operand& src2 = Operand(zero_reg)); 290 const Operand& src2 = Operand(zero_reg));
294 291
295 void AddToTranslation(Translation* translation, 292 void AddToTranslation(Translation* translation,
296 LOperand* op, 293 LOperand* op,
297 bool is_tagged, 294 bool is_tagged,
298 bool is_uint32, 295 bool is_uint32);
299 bool arguments_known,
300 int arguments_index,
301 int arguments_count);
302 void RegisterDependentCodeForEmbeddedMaps(Handle<Code> code); 296 void RegisterDependentCodeForEmbeddedMaps(Handle<Code> code);
303 void PopulateDeoptimizationData(Handle<Code> code); 297 void PopulateDeoptimizationData(Handle<Code> code);
304 int DefineDeoptimizationLiteral(Handle<Object> literal); 298 int DefineDeoptimizationLiteral(Handle<Object> literal);
305 299
306 void PopulateDeoptimizationLiteralsWithInlinedFunctions(); 300 void PopulateDeoptimizationLiteralsWithInlinedFunctions();
307 301
308 Register ToRegister(int index) const; 302 Register ToRegister(int index) const;
309 DoubleRegister ToDoubleRegister(int index) const; 303 DoubleRegister ToDoubleRegister(int index) const;
310 304
311 void EmitIntegerMathAbs(LMathAbs* instr); 305 void EmitIntegerMathAbs(LMathAbs* instr);
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
383 Handle<String> name, 377 Handle<String> name,
384 LEnvironment* env); 378 LEnvironment* env);
385 379
386 // Emits optimized code to deep-copy the contents of statically known 380 // Emits optimized code to deep-copy the contents of statically known
387 // object graphs (e.g. object literal boilerplate). 381 // object graphs (e.g. object literal boilerplate).
388 void EmitDeepCopy(Handle<JSObject> object, 382 void EmitDeepCopy(Handle<JSObject> object,
389 Register result, 383 Register result,
390 Register source, 384 Register source,
391 int* offset, 385 int* offset,
392 AllocationSiteMode mode); 386 AllocationSiteMode mode);
387 // Emit optimized code for integer division.
388 // Inputs are signed.
389 // All registers are clobbered.
390 // If 'remainder' is no_reg, it is not computed.
391 void EmitSignedIntegerDivisionByConstant(Register result,
392 Register dividend,
393 int32_t divisor,
394 Register remainder,
395 Register scratch,
396 LEnvironment* environment);
397
393 398
394 void EnsureSpaceForLazyDeopt(); 399 void EnsureSpaceForLazyDeopt();
395 void DoLoadKeyedExternalArray(LLoadKeyed* instr); 400 void DoLoadKeyedExternalArray(LLoadKeyed* instr);
396 void DoLoadKeyedFixedDoubleArray(LLoadKeyed* instr); 401 void DoLoadKeyedFixedDoubleArray(LLoadKeyed* instr);
397 void DoLoadKeyedFixedArray(LLoadKeyed* instr); 402 void DoLoadKeyedFixedArray(LLoadKeyed* instr);
398 void DoStoreKeyedExternalArray(LStoreKeyed* instr); 403 void DoStoreKeyedExternalArray(LStoreKeyed* instr);
399 void DoStoreKeyedFixedDoubleArray(LStoreKeyed* instr); 404 void DoStoreKeyedFixedDoubleArray(LStoreKeyed* instr);
400 void DoStoreKeyedFixedArray(LStoreKeyed* instr); 405 void DoStoreKeyedFixedArray(LStoreKeyed* instr);
401 406
402 Zone* zone_; 407 Zone* zone_;
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after
502 LCodeGen* codegen_; 507 LCodeGen* codegen_;
503 Label entry_; 508 Label entry_;
504 Label exit_; 509 Label exit_;
505 Label* external_exit_; 510 Label* external_exit_;
506 int instruction_index_; 511 int instruction_index_;
507 }; 512 };
508 513
509 } } // namespace v8::internal 514 } } // namespace v8::internal
510 515
511 #endif // V8_MIPS_LITHIUM_CODEGEN_MIPS_H_ 516 #endif // V8_MIPS_LITHIUM_CODEGEN_MIPS_H_
OLDNEW
« no previous file with comments | « src/mips/ic-mips.cc ('k') | src/mips/lithium-codegen-mips.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698