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

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

Issue 6606006: [Isolates] Merge 6500:6700 from bleeding_edge to isolates. (Closed) Base URL: http://v8.googlecode.com/svn/branches/experimental/isolates/
Patch Set: '' Created 9 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 | 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 2011 the V8 project authors. All rights reserved. 1 // Copyright 2011 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 201 matching lines...) Expand 10 before | Expand all | Expand 10 after
212 SwVfpRegister flt_scratch, 212 SwVfpRegister flt_scratch,
213 DoubleRegister dbl_scratch); 213 DoubleRegister dbl_scratch);
214 214
215 int ToInteger32(LConstantOperand* op) const; 215 int ToInteger32(LConstantOperand* op) const;
216 Operand ToOperand(LOperand* op); 216 Operand ToOperand(LOperand* op);
217 MemOperand ToMemOperand(LOperand* op) const; 217 MemOperand ToMemOperand(LOperand* op) const;
218 218
219 // Specific math operations - used from DoUnaryMathOperation. 219 // Specific math operations - used from DoUnaryMathOperation.
220 void EmitIntegerMathAbs(LUnaryMathOperation* instr); 220 void EmitIntegerMathAbs(LUnaryMathOperation* instr);
221 void DoMathAbs(LUnaryMathOperation* instr); 221 void DoMathAbs(LUnaryMathOperation* instr);
222 void EmitVFPTruncate(VFPRoundingMode rounding_mode,
223 SwVfpRegister result,
224 DwVfpRegister double_input,
225 Register scratch1,
226 Register scratch2);
222 void DoMathFloor(LUnaryMathOperation* instr); 227 void DoMathFloor(LUnaryMathOperation* instr);
223 void DoMathSqrt(LUnaryMathOperation* instr); 228 void DoMathSqrt(LUnaryMathOperation* instr);
224 229
225 // Support for recording safepoint and position information. 230 // Support for recording safepoint and position information.
231 void RecordSafepoint(LPointerMap* pointers,
232 Safepoint::Kind kind,
233 int arguments,
234 int deoptimization_index);
226 void RecordSafepoint(LPointerMap* pointers, int deoptimization_index); 235 void RecordSafepoint(LPointerMap* pointers, int deoptimization_index);
227 void RecordSafepointWithRegisters(LPointerMap* pointers, 236 void RecordSafepointWithRegisters(LPointerMap* pointers,
228 int arguments, 237 int arguments,
229 int deoptimization_index); 238 int deoptimization_index);
230 void RecordSafepointWithRegistersAndDoubles(LPointerMap* pointers, 239 void RecordSafepointWithRegistersAndDoubles(LPointerMap* pointers,
231 int arguments, 240 int arguments,
232 int deoptimization_index); 241 int deoptimization_index);
233 void RecordPosition(int position); 242 void RecordPosition(int position);
234 243
235 static Condition TokenToCondition(Token::Value op, bool is_unsigned); 244 static Condition TokenToCondition(Token::Value op, bool is_unsigned);
(...skipping 12 matching lines...) Expand all
248 257
249 // Emits optimized code for %_IsObject(x). Preserves input register. 258 // Emits optimized code for %_IsObject(x). Preserves input register.
250 // Returns the condition on which a final split to 259 // Returns the condition on which a final split to
251 // true and false label should be made, to optimize fallthrough. 260 // true and false label should be made, to optimize fallthrough.
252 Condition EmitIsObject(Register input, 261 Condition EmitIsObject(Register input,
253 Register temp1, 262 Register temp1,
254 Register temp2, 263 Register temp2,
255 Label* is_not_object, 264 Label* is_not_object,
256 Label* is_object); 265 Label* is_object);
257 266
267 // Emits optimized code for %_IsConstructCall().
268 // Caller should branch on equal condition.
269 void EmitIsConstructCall(Register temp1, Register temp2);
270
258 LChunk* const chunk_; 271 LChunk* const chunk_;
259 MacroAssembler* const masm_; 272 MacroAssembler* const masm_;
260 CompilationInfo* const info_; 273 CompilationInfo* const info_;
261 274
262 int current_block_; 275 int current_block_;
263 int current_instruction_; 276 int current_instruction_;
264 const ZoneList<LInstruction*>* instructions_; 277 const ZoneList<LInstruction*>* instructions_;
265 ZoneList<LEnvironment*> deoptimizations_; 278 ZoneList<LEnvironment*> deoptimizations_;
266 ZoneList<Handle<Object> > deoptimization_literals_; 279 ZoneList<Handle<Object> > deoptimization_literals_;
267 int inlined_function_count_; 280 int inlined_function_count_;
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
306 private: 319 private:
307 LCodeGen* codegen_; 320 LCodeGen* codegen_;
308 Label entry_; 321 Label entry_;
309 Label exit_; 322 Label exit_;
310 Label* external_exit_; 323 Label* external_exit_;
311 }; 324 };
312 325
313 } } // namespace v8::internal 326 } } // namespace v8::internal
314 327
315 #endif // V8_ARM_LITHIUM_CODEGEN_ARM_H_ 328 #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