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/codegen-ia32.h

Issue 16537: Runtime logging (Closed)
Patch Set: Created 11 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
OLDNEW
1 // Copyright 2006-2008 the V8 project authors. All rights reserved. 1 // Copyright 2006-2008 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 183 matching lines...) Expand 10 before | Expand all | Expand 10 after
194 // CodeGenerator 194 // CodeGenerator
195 195
196 class CodeGenerator: public AstVisitor { 196 class CodeGenerator: public AstVisitor {
197 public: 197 public:
198 // Takes a function literal, generates code for it. This function should only 198 // Takes a function literal, generates code for it. This function should only
199 // be called by compiler.cc. 199 // be called by compiler.cc.
200 static Handle<Code> MakeCode(FunctionLiteral* fun, 200 static Handle<Code> MakeCode(FunctionLiteral* fun,
201 Handle<Script> script, 201 Handle<Script> script,
202 bool is_eval); 202 bool is_eval);
203 203
204 static bool ShouldGenerateLog(Expression* type);
205
204 static void SetFunctionInfo(Handle<JSFunction> fun, 206 static void SetFunctionInfo(Handle<JSFunction> fun,
205 int length, 207 int length,
206 int function_token_position, 208 int function_token_position,
207 int start_position, 209 int start_position,
208 int end_position, 210 int end_position,
209 bool is_expression, 211 bool is_expression,
210 bool is_toplevel, 212 bool is_toplevel,
211 Handle<Script> script); 213 Handle<Script> script);
212 214
213 // Accessors 215 // Accessors
(...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after
341 // Support for accessing the value field of an object (used by Date). 343 // Support for accessing the value field of an object (used by Date).
342 void GenerateValueOf(ZoneList<Expression*>* args); 344 void GenerateValueOf(ZoneList<Expression*>* args);
343 void GenerateSetValueOf(ZoneList<Expression*>* args); 345 void GenerateSetValueOf(ZoneList<Expression*>* args);
344 346
345 // Fast support for charCodeAt(n). 347 // Fast support for charCodeAt(n).
346 void GenerateFastCharCodeAt(ZoneList<Expression*>* args); 348 void GenerateFastCharCodeAt(ZoneList<Expression*>* args);
347 349
348 // Fast support for object equality testing. 350 // Fast support for object equality testing.
349 void GenerateObjectEquals(ZoneList<Expression*>* args); 351 void GenerateObjectEquals(ZoneList<Expression*>* args);
350 352
353 void GenerateLog(ZoneList<Expression*>* args);
354
351 355
352 // Methods and constants for fast case switch statement support. 356 // Methods and constants for fast case switch statement support.
353 // 357 //
354 // Only allow fast-case switch if the range of labels is at most 358 // Only allow fast-case switch if the range of labels is at most
355 // this factor times the number of case labels. 359 // this factor times the number of case labels.
356 // Value is derived from comparing the size of code generated by the normal 360 // Value is derived from comparing the size of code generated by the normal
357 // switch code for Smi-labels to the size of a single pointer. If code 361 // switch code for Smi-labels to the size of a single pointer. If code
358 // quality increases this number should be decreased to match. 362 // quality increases this number should be decreased to match.
359 static const int kFastSwitchMaxOverheadFactor = 5; 363 static const int kFastSwitchMaxOverheadFactor = 5;
360 364
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
428 friend class VirtualFrame; 432 friend class VirtualFrame;
429 friend class Reference; 433 friend class Reference;
430 434
431 DISALLOW_COPY_AND_ASSIGN(CodeGenerator); 435 DISALLOW_COPY_AND_ASSIGN(CodeGenerator);
432 }; 436 };
433 437
434 438
435 } } // namespace v8::internal 439 } } // namespace v8::internal
436 440
437 #endif // V8_CODEGEN_IA32_H_ 441 #endif // V8_CODEGEN_IA32_H_
OLDNEW
« no previous file with comments | « src/codegen-arm.cc ('k') | src/codegen-ia32.cc » ('j') | src/codegen-ia32.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698