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

Side by Side Diff: src/objects.h

Issue 6125007: Allow arguments in safepoints with registers. (Closed)
Patch Set: Created 9 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 2010 the V8 project authors. All rights reserved. 1 // Copyright 2010 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 3103 matching lines...) Expand 10 before | Expand all | Expand 10 after
3114 3114
3115 // Casting. 3115 // Casting.
3116 static inline DeoptimizationOutputData* cast(Object* obj); 3116 static inline DeoptimizationOutputData* cast(Object* obj);
3117 3117
3118 #ifdef OBJECT_PRINT 3118 #ifdef OBJECT_PRINT
3119 void DeoptimizationOutputDataPrint(FILE* out); 3119 void DeoptimizationOutputDataPrint(FILE* out);
3120 #endif 3120 #endif
3121 }; 3121 };
3122 3122
3123 3123
3124 class SafepointEntry;
3125
3126
3124 // Code describes objects with on-the-fly generated machine code. 3127 // Code describes objects with on-the-fly generated machine code.
3125 class Code: public HeapObject { 3128 class Code: public HeapObject {
3126 public: 3129 public:
3127 // Opaque data type for encapsulating code flags like kind, inline 3130 // Opaque data type for encapsulating code flags like kind, inline
3128 // cache state, and arguments count. 3131 // cache state, and arguments count.
3129 // FLAGS_MIN_VALUE and FLAGS_MAX_VALUE are specified to ensure that 3132 // FLAGS_MIN_VALUE and FLAGS_MAX_VALUE are specified to ensure that
3130 // enumeration type has correct value range (see Issue 830 for more details). 3133 // enumeration type has correct value range (see Issue 830 for more details).
3131 enum Flags { 3134 enum Flags {
3132 FLAGS_MIN_VALUE = kMinInt, 3135 FLAGS_MIN_VALUE = kMinInt,
3133 FLAGS_MAX_VALUE = kMaxInt 3136 FLAGS_MAX_VALUE = kMaxInt
(...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after
3261 inline byte type_recording_binary_op_type(); 3264 inline byte type_recording_binary_op_type();
3262 inline void set_type_recording_binary_op_type(byte value); 3265 inline void set_type_recording_binary_op_type(byte value);
3263 inline byte type_recording_binary_op_result_type(); 3266 inline byte type_recording_binary_op_result_type();
3264 inline void set_type_recording_binary_op_result_type(byte value); 3267 inline void set_type_recording_binary_op_result_type(byte value);
3265 3268
3266 // [compare state]: For kind compare IC stubs, tells what state the 3269 // [compare state]: For kind compare IC stubs, tells what state the
3267 // stub is in. 3270 // stub is in.
3268 inline byte compare_state(); 3271 inline byte compare_state();
3269 inline void set_compare_state(byte value); 3272 inline void set_compare_state(byte value);
3270 3273
3271 // Get the safepoint entry for the given pc. Returns NULL for 3274 // Get the safepoint entry for the given pc.
3272 // non-safepoint pcs. 3275 SafepointEntry GetSafepointEntry(Address pc);
3273 uint8_t* GetSafepointEntry(Address pc);
3274 3276
3275 // Mark this code object as not having a stack check table. Assumes kind 3277 // Mark this code object as not having a stack check table. Assumes kind
3276 // is FUNCTION. 3278 // is FUNCTION.
3277 void SetNoStackCheckTable(); 3279 void SetNoStackCheckTable();
3278 3280
3279 // Find the first map in an IC stub. 3281 // Find the first map in an IC stub.
3280 Map* FindFirstMap(); 3282 Map* FindFirstMap();
3281 3283
3282 // Flags operations. 3284 // Flags operations.
3283 static inline Flags ComputeFlags(Kind kind, 3285 static inline Flags ComputeFlags(Kind kind,
(...skipping 3107 matching lines...) Expand 10 before | Expand all | Expand 10 after
6391 } else { 6393 } else {
6392 value &= ~(1 << bit_position); 6394 value &= ~(1 << bit_position);
6393 } 6395 }
6394 return value; 6396 return value;
6395 } 6397 }
6396 }; 6398 };
6397 6399
6398 } } // namespace v8::internal 6400 } } // namespace v8::internal
6399 6401
6400 #endif // V8_OBJECTS_H_ 6402 #endif // V8_OBJECTS_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698