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

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

Issue 71163006: Merge bleeding_edge r17376:17693. (Closed) Base URL: https://v8.googlecode.com/svn/branches/experimental/parser
Patch Set: Fix all.gyp Created 7 years, 1 month 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 224 matching lines...) Expand 10 before | Expand all | Expand 10 after
235 235
236 // Generate a direct call to a known function. Expects the function 236 // Generate a direct call to a known function. Expects the function
237 // to be in a1. 237 // to be in a1.
238 void CallKnownFunction(Handle<JSFunction> function, 238 void CallKnownFunction(Handle<JSFunction> function,
239 int formal_parameter_count, 239 int formal_parameter_count,
240 int arity, 240 int arity,
241 LInstruction* instr, 241 LInstruction* instr,
242 CallKind call_kind, 242 CallKind call_kind,
243 A1State a1_state); 243 A1State a1_state);
244 244
245 void LoadHeapObject(Register result, Handle<HeapObject> object);
246
247 void RecordSafepointWithLazyDeopt(LInstruction* instr, 245 void RecordSafepointWithLazyDeopt(LInstruction* instr,
248 SafepointMode safepoint_mode); 246 SafepointMode safepoint_mode);
249 247
250 void RegisterEnvironmentForDeoptimization(LEnvironment* environment, 248 void RegisterEnvironmentForDeoptimization(LEnvironment* environment,
251 Safepoint::DeoptMode mode); 249 Safepoint::DeoptMode mode);
252 void DeoptimizeIf(Condition condition, 250 void DeoptimizeIf(Condition condition,
253 LEnvironment* environment, 251 LEnvironment* environment,
254 Deoptimizer::BailoutType bailout_type, 252 Deoptimizer::BailoutType bailout_type,
255 Register src1 = zero_reg, 253 Register src1 = zero_reg,
256 const Operand& src2 = Operand(zero_reg)); 254 const Operand& src2 = Operand(zero_reg));
(...skipping 15 matching lines...) Expand all
272 int* dematerialized_index_pointer); 270 int* dematerialized_index_pointer);
273 void RegisterDependentCodeForEmbeddedMaps(Handle<Code> code); 271 void RegisterDependentCodeForEmbeddedMaps(Handle<Code> code);
274 void PopulateDeoptimizationData(Handle<Code> code); 272 void PopulateDeoptimizationData(Handle<Code> code);
275 int DefineDeoptimizationLiteral(Handle<Object> literal); 273 int DefineDeoptimizationLiteral(Handle<Object> literal);
276 274
277 void PopulateDeoptimizationLiteralsWithInlinedFunctions(); 275 void PopulateDeoptimizationLiteralsWithInlinedFunctions();
278 276
279 Register ToRegister(int index) const; 277 Register ToRegister(int index) const;
280 DoubleRegister ToDoubleRegister(int index) const; 278 DoubleRegister ToDoubleRegister(int index) const;
281 279
280 MemOperand BuildSeqStringOperand(Register string,
281 LOperand* index,
282 String::Encoding encoding);
283
282 void EmitIntegerMathAbs(LMathAbs* instr); 284 void EmitIntegerMathAbs(LMathAbs* instr);
283 285
284 // Support for recording safepoint and position information. 286 // Support for recording safepoint and position information.
285 void RecordSafepoint(LPointerMap* pointers, 287 void RecordSafepoint(LPointerMap* pointers,
286 Safepoint::Kind kind, 288 Safepoint::Kind kind,
287 int arguments, 289 int arguments,
288 Safepoint::DeoptMode mode); 290 Safepoint::DeoptMode mode);
289 void RecordSafepoint(LPointerMap* pointers, Safepoint::DeoptMode mode); 291 void RecordSafepoint(LPointerMap* pointers, Safepoint::DeoptMode mode);
290 void RecordSafepoint(Safepoint::DeoptMode mode); 292 void RecordSafepoint(Safepoint::DeoptMode mode);
291 void RecordSafepointWithRegisters(LPointerMap* pointers, 293 void RecordSafepointWithRegisters(LPointerMap* pointers,
292 int arguments, 294 int arguments,
293 Safepoint::DeoptMode mode); 295 Safepoint::DeoptMode mode);
294 void RecordSafepointWithRegistersAndDoubles(LPointerMap* pointers, 296 void RecordSafepointWithRegistersAndDoubles(LPointerMap* pointers,
295 int arguments, 297 int arguments,
296 Safepoint::DeoptMode mode); 298 Safepoint::DeoptMode mode);
297 299
298 void RecordAndWritePosition(int position) V8_OVERRIDE; 300 void RecordAndWritePosition(int position) V8_OVERRIDE;
299 301
300 static Condition TokenToCondition(Token::Value op, bool is_unsigned); 302 static Condition TokenToCondition(Token::Value op, bool is_unsigned);
301 void EmitGoto(int block); 303 void EmitGoto(int block);
304
305 // EmitBranch expects to be the last instruction of a block.
302 template<class InstrType> 306 template<class InstrType>
303 void EmitBranch(InstrType instr, 307 void EmitBranch(InstrType instr,
304 Condition condition, 308 Condition condition,
305 Register src1, 309 Register src1,
306 const Operand& src2); 310 const Operand& src2);
307 template<class InstrType> 311 template<class InstrType>
308 void EmitBranchF(InstrType instr, 312 void EmitBranchF(InstrType instr,
309 Condition condition, 313 Condition condition,
310 FPURegister src1, 314 FPURegister src1,
311 FPURegister src2); 315 FPURegister src2);
312 template<class InstrType> 316 template<class InstrType>
317 void EmitFalseBranch(InstrType instr,
318 Condition condition,
319 Register src1,
320 const Operand& src2);
321 template<class InstrType>
313 void EmitFalseBranchF(InstrType instr, 322 void EmitFalseBranchF(InstrType instr,
314 Condition condition, 323 Condition condition,
315 FPURegister src1, 324 FPURegister src1,
316 FPURegister src2); 325 FPURegister src2);
317 void EmitCmpI(LOperand* left, LOperand* right); 326 void EmitCmpI(LOperand* left, LOperand* right);
318 void EmitNumberUntagD(Register input, 327 void EmitNumberUntagD(Register input,
319 DoubleRegister result, 328 DoubleRegister result,
320 bool allow_undefined_as_nan, 329 bool allow_undefined_as_nan,
321 bool deoptimize_on_minus_zero, 330 bool deoptimize_on_minus_zero,
322 LEnvironment* env, 331 LEnvironment* env,
(...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after
475 LCodeGen* codegen_; 484 LCodeGen* codegen_;
476 Label entry_; 485 Label entry_;
477 Label exit_; 486 Label exit_;
478 Label* external_exit_; 487 Label* external_exit_;
479 int instruction_index_; 488 int instruction_index_;
480 }; 489 };
481 490
482 } } // namespace v8::internal 491 } } // namespace v8::internal
483 492
484 #endif // V8_MIPS_LITHIUM_CODEGEN_MIPS_H_ 493 #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