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

Side by Side Diff: src/objects.h

Issue 7273066: Simplify EmitCallIC. (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
Patch Set: Created 9 years, 5 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
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 3446 matching lines...) Expand 10 before | Expand all | Expand 10 after
3457 // Casting. 3457 // Casting.
3458 static inline DeoptimizationOutputData* cast(Object* obj); 3458 static inline DeoptimizationOutputData* cast(Object* obj);
3459 3459
3460 #if defined(OBJECT_PRINT) || defined(ENABLE_DISASSEMBLER) 3460 #if defined(OBJECT_PRINT) || defined(ENABLE_DISASSEMBLER)
3461 void DeoptimizationOutputDataPrint(FILE* out); 3461 void DeoptimizationOutputDataPrint(FILE* out);
3462 #endif 3462 #endif
3463 }; 3463 };
3464 3464
3465 3465
3466 class SafepointEntry; 3466 class SafepointEntry;
3467 class StatsCounter;
3467 3468
3468 3469
3469 // Code describes objects with on-the-fly generated machine code. 3470 // Code describes objects with on-the-fly generated machine code.
3470 class Code: public HeapObject { 3471 class Code: public HeapObject {
3471 public: 3472 public:
3472 // Opaque data type for encapsulating code flags like kind, inline 3473 // Opaque data type for encapsulating code flags like kind, inline
3473 // cache state, and arguments count. 3474 // cache state, and arguments count.
3474 // FLAGS_MIN_VALUE and FLAGS_MAX_VALUE are specified to ensure that 3475 // FLAGS_MIN_VALUE and FLAGS_MAX_VALUE are specified to ensure that
3475 // enumeration type has correct value range (see Issue 830 for more details). 3476 // enumeration type has correct value range (see Issue 830 for more details).
3476 enum Flags { 3477 enum Flags {
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
3514 static const char* Kind2String(Kind kind); 3515 static const char* Kind2String(Kind kind);
3515 static const char* ICState2String(InlineCacheState state); 3516 static const char* ICState2String(InlineCacheState state);
3516 static const char* PropertyType2String(PropertyType type); 3517 static const char* PropertyType2String(PropertyType type);
3517 static void PrintExtraICState(FILE* out, Kind kind, ExtraICState extra); 3518 static void PrintExtraICState(FILE* out, Kind kind, ExtraICState extra);
3518 inline void Disassemble(const char* name) { 3519 inline void Disassemble(const char* name) {
3519 Disassemble(name, stdout); 3520 Disassemble(name, stdout);
3520 } 3521 }
3521 void Disassemble(const char* name, FILE* out); 3522 void Disassemble(const char* name, FILE* out);
3522 #endif // ENABLE_DISASSEMBLER 3523 #endif // ENABLE_DISASSEMBLER
3523 3524
3525 // Returns a counter for the kind of code, or NULL if there is none.
3526 StatsCounter* Counter(Isolate* isolate);
3527
3524 // [instruction_size]: Size of the native instructions 3528 // [instruction_size]: Size of the native instructions
3525 inline int instruction_size(); 3529 inline int instruction_size();
3526 inline void set_instruction_size(int value); 3530 inline void set_instruction_size(int value);
3527 3531
3528 // [relocation_info]: Code relocation information 3532 // [relocation_info]: Code relocation information
3529 DECL_ACCESSORS(relocation_info, ByteArray) 3533 DECL_ACCESSORS(relocation_info, ByteArray)
3530 void InvalidateRelocation(); 3534 void InvalidateRelocation();
3531 3535
3532 // [deoptimization_data]: Array containing data for deopt. 3536 // [deoptimization_data]: Array containing data for deopt.
3533 DECL_ACCESSORS(deoptimization_data, FixedArray) 3537 DECL_ACCESSORS(deoptimization_data, FixedArray)
(...skipping 3598 matching lines...) Expand 10 before | Expand all | Expand 10 after
7132 } else { 7136 } else {
7133 value &= ~(1 << bit_position); 7137 value &= ~(1 << bit_position);
7134 } 7138 }
7135 return value; 7139 return value;
7136 } 7140 }
7137 }; 7141 };
7138 7142
7139 } } // namespace v8::internal 7143 } } // namespace v8::internal
7140 7144
7141 #endif // V8_OBJECTS_H_ 7145 #endif // V8_OBJECTS_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698