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

Side by Side Diff: third_party/WebKit/JavaScriptCore/bytecompiler/CodeGenerator.h

Issue 10670: Do another merge using nifty new merge script (CL for that coming soon). (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 12 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
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2008 Apple Inc. All rights reserved. 2 * Copyright (C) 2008 Apple Inc. All rights reserved.
3 * Copyright (C) 2008 Cameron Zwarich <cwzwarich@uwaterloo.ca> 3 * Copyright (C) 2008 Cameron Zwarich <cwzwarich@uwaterloo.ca>
4 * 4 *
5 * Redistribution and use in source and binary forms, with or without 5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions 6 * modification, are permitted provided that the following conditions
7 * are met: 7 * are met:
8 * 8 *
9 * 1. Redistributions of source code must retain the above copyright 9 * 1. Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer. 10 * notice, this list of conditions and the following disclaimer.
(...skipping 255 matching lines...) Expand 10 before | Expand all | Expand 10 after
266 RegisterID* emitGetById(RegisterID* dst, RegisterID* base, const Identif ier& property); 266 RegisterID* emitGetById(RegisterID* dst, RegisterID* base, const Identif ier& property);
267 RegisterID* emitPutById(RegisterID* base, const Identifier& property, Re gisterID* value); 267 RegisterID* emitPutById(RegisterID* base, const Identifier& property, Re gisterID* value);
268 RegisterID* emitDeleteById(RegisterID* dst, RegisterID* base, const Iden tifier&); 268 RegisterID* emitDeleteById(RegisterID* dst, RegisterID* base, const Iden tifier&);
269 RegisterID* emitGetByVal(RegisterID* dst, RegisterID* base, RegisterID* property); 269 RegisterID* emitGetByVal(RegisterID* dst, RegisterID* base, RegisterID* property);
270 RegisterID* emitPutByVal(RegisterID* base, RegisterID* property, Registe rID* value); 270 RegisterID* emitPutByVal(RegisterID* base, RegisterID* property, Registe rID* value);
271 RegisterID* emitDeleteByVal(RegisterID* dst, RegisterID* base, RegisterI D* property); 271 RegisterID* emitDeleteByVal(RegisterID* dst, RegisterID* base, RegisterI D* property);
272 RegisterID* emitPutByIndex(RegisterID* base, unsigned index, RegisterID* value); 272 RegisterID* emitPutByIndex(RegisterID* base, unsigned index, RegisterID* value);
273 RegisterID* emitPutGetter(RegisterID* base, const Identifier& property, RegisterID* value); 273 RegisterID* emitPutGetter(RegisterID* base, const Identifier& property, RegisterID* value);
274 RegisterID* emitPutSetter(RegisterID* base, const Identifier& property, RegisterID* value); 274 RegisterID* emitPutSetter(RegisterID* base, const Identifier& property, RegisterID* value);
275 275
276 RegisterID* emitCall(RegisterID* dst, RegisterID* func, RegisterID* base , ArgumentsNode*, unsigned divot, unsigned startOffset, unsigned endOffset); 276 RegisterID* emitCall(RegisterID* dst, RegisterID* func, RegisterID* this Register, ArgumentsNode*, unsigned divot, unsigned startOffset, unsigned endOffs et);
277 RegisterID* emitCallEval(RegisterID* dst, RegisterID* func, RegisterID* base, ArgumentsNode*, unsigned divot, unsigned startOffset, unsigned endOffset); 277 RegisterID* emitCallEval(RegisterID* dst, RegisterID* func, RegisterID* thisRegister, ArgumentsNode*, unsigned divot, unsigned startOffset, unsigned end Offset);
278 278
279 RegisterID* emitReturn(RegisterID* src); 279 RegisterID* emitReturn(RegisterID* src);
280 RegisterID* emitEnd(RegisterID* src) { return emitUnaryNoDstOp(op_end, s rc); } 280 RegisterID* emitEnd(RegisterID* src) { return emitUnaryNoDstOp(op_end, s rc); }
281 281
282 RegisterID* emitConstruct(RegisterID* dst, RegisterID* func, ArgumentsNo de*, unsigned divot, unsigned startOffset, unsigned endOffset); 282 RegisterID* emitConstruct(RegisterID* dst, RegisterID* func, ArgumentsNo de*, unsigned divot, unsigned startOffset, unsigned endOffset);
283 283
284 PassRefPtr<LabelID> emitLabel(LabelID*); 284 PassRefPtr<LabelID> emitLabel(LabelID*);
285 PassRefPtr<LabelID> emitJump(LabelID* target); 285 PassRefPtr<LabelID> emitJump(LabelID* target);
286 PassRefPtr<LabelID> emitJumpIfTrue(RegisterID* cond, LabelID* target); 286 PassRefPtr<LabelID> emitJumpIfTrue(RegisterID* cond, LabelID* target);
287 PassRefPtr<LabelID> emitJumpIfFalse(RegisterID* cond, LabelID* target); 287 PassRefPtr<LabelID> emitJumpIfFalse(RegisterID* cond, LabelID* target);
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
338 static int emptyValue() { return std::numeric_limits<int>::max(); } 338 static int emptyValue() { return std::numeric_limits<int>::max(); }
339 static const bool emptyValueIsZero = false; 339 static const bool emptyValueIsZero = false;
340 static const bool needsDestruction = false; 340 static const bool needsDestruction = false;
341 static const bool needsRef = false; 341 static const bool needsRef = false;
342 }; 342 };
343 343
344 typedef HashMap<RefPtr<UString::Rep>, int, IdentifierRepHash, HashTraits <RefPtr<UString::Rep> >, IdentifierMapIndexHashTraits> IdentifierMap; 344 typedef HashMap<RefPtr<UString::Rep>, int, IdentifierRepHash, HashTraits <RefPtr<UString::Rep> >, IdentifierMapIndexHashTraits> IdentifierMap;
345 typedef HashMap<double, JSValue*> NumberMap; 345 typedef HashMap<double, JSValue*> NumberMap;
346 typedef HashMap<UString::Rep*, JSString*, IdentifierRepHash> IdentifierS tringMap; 346 typedef HashMap<UString::Rep*, JSString*, IdentifierRepHash> IdentifierS tringMap;
347 347
348 RegisterID* emitCall(OpcodeID, RegisterID*, RegisterID*, RegisterID*, Ar gumentsNode*, unsigned divot, unsigned startOffset, unsigned endOffset); 348 RegisterID* emitCall(OpcodeID, RegisterID* dst, RegisterID* func, Regist erID* thisRegister, ArgumentsNode*, unsigned divot, unsigned startOffset, unsign ed endOffset);
349 349
350 RegisterID* newRegister(); 350 RegisterID* newRegister();
351 351
352 // Returns the RegisterID corresponding to ident. 352 // Returns the RegisterID corresponding to ident.
353 RegisterID* addVar(const Identifier& ident, bool isConstant) 353 RegisterID* addVar(const Identifier& ident, bool isConstant)
354 { 354 {
355 RegisterID* local; 355 RegisterID* local;
356 addVar(ident, isConstant, local); 356 addVar(ident, isConstant, local);
357 return local; 357 return local;
358 } 358 }
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after
453 #endif 453 #endif
454 454
455 unsigned m_emitNodeDepth; 455 unsigned m_emitNodeDepth;
456 456
457 static const unsigned s_maxEmitNodeDepth = 10000; 457 static const unsigned s_maxEmitNodeDepth = 10000;
458 }; 458 };
459 459
460 } 460 }
461 461
462 #endif // CodeGenerator_h 462 #endif // CodeGenerator_h
OLDNEW
« no previous file with comments | « third_party/WebKit/JavaScriptCore/VM/Machine.cpp ('k') | third_party/WebKit/JavaScriptCore/bytecompiler/CodeGenerator.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698