OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef V8_OBJECTS_H_ | 5 #ifndef V8_OBJECTS_H_ |
6 #define V8_OBJECTS_H_ | 6 #define V8_OBJECTS_H_ |
7 | 7 |
8 #include "src/allocation.h" | 8 #include "src/allocation.h" |
9 #include "src/assert-scope.h" | 9 #include "src/assert-scope.h" |
10 #include "src/builtins.h" | 10 #include "src/builtins.h" |
(...skipping 1004 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1015 V(JSGlobalProxy) \ | 1015 V(JSGlobalProxy) \ |
1016 V(UndetectableObject) \ | 1016 V(UndetectableObject) \ |
1017 V(AccessCheckNeeded) \ | 1017 V(AccessCheckNeeded) \ |
1018 V(Cell) \ | 1018 V(Cell) \ |
1019 V(PropertyCell) \ | 1019 V(PropertyCell) \ |
1020 V(ObjectHashTable) \ | 1020 V(ObjectHashTable) \ |
1021 V(WeakHashTable) \ | 1021 V(WeakHashTable) \ |
1022 V(OrderedHashTable) | 1022 V(OrderedHashTable) |
1023 | 1023 |
1024 | 1024 |
1025 #define ERROR_MESSAGES_LIST(V) \ | 1025 #define ERROR_MESSAGES_LIST(V) \ |
1026 V(kNoReason, "no reason") \ | 1026 V(kNoReason, "no reason") \ |
1027 \ | 1027 \ |
1028 V(k32BitValueInRegisterIsNotZeroExtended, \ | 1028 V(k32BitValueInRegisterIsNotZeroExtended, \ |
1029 "32 bit value in register is not zero-extended") \ | 1029 "32 bit value in register is not zero-extended") \ |
1030 V(kAlignmentMarkerExpected, "Alignment marker expected") \ | 1030 V(kAlignmentMarkerExpected, "Alignment marker expected") \ |
1031 V(kAllocationIsNotDoubleAligned, "Allocation is not double aligned") \ | 1031 V(kAllocationIsNotDoubleAligned, "Allocation is not double aligned") \ |
1032 V(kAPICallReturnedInvalidObject, "API call returned invalid object") \ | 1032 V(kAPICallReturnedInvalidObject, "API call returned invalid object") \ |
1033 V(kArgumentsObjectValueInATestContext, \ | 1033 V(kArgumentsObjectValueInATestContext, \ |
1034 "Arguments object value in a test context") \ | 1034 "Arguments object value in a test context") \ |
1035 V(kArrayBoilerplateCreationFailed, "Array boilerplate creation failed") \ | 1035 V(kArrayBoilerplateCreationFailed, "Array boilerplate creation failed") \ |
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1082 V(kEval, "eval") \ | 1082 V(kEval, "eval") \ |
1083 V(kExpected0AsASmiSentinel, "Expected 0 as a Smi sentinel") \ | 1083 V(kExpected0AsASmiSentinel, "Expected 0 as a Smi sentinel") \ |
1084 V(kExpectedAlignmentMarker, "Expected alignment marker") \ | 1084 V(kExpectedAlignmentMarker, "Expected alignment marker") \ |
1085 V(kExpectedAllocationSite, "Expected allocation site") \ | 1085 V(kExpectedAllocationSite, "Expected allocation site") \ |
1086 V(kExpectedFunctionObject, "Expected function object in register") \ | 1086 V(kExpectedFunctionObject, "Expected function object in register") \ |
1087 V(kExpectedHeapNumber, "Expected HeapNumber") \ | 1087 V(kExpectedHeapNumber, "Expected HeapNumber") \ |
1088 V(kExpectedNativeContext, "Expected native context") \ | 1088 V(kExpectedNativeContext, "Expected native context") \ |
1089 V(kExpectedNonIdenticalObjects, "Expected non-identical objects") \ | 1089 V(kExpectedNonIdenticalObjects, "Expected non-identical objects") \ |
1090 V(kExpectedNonNullContext, "Expected non-null context") \ | 1090 V(kExpectedNonNullContext, "Expected non-null context") \ |
1091 V(kExpectedPositiveZero, "Expected +0.0") \ | 1091 V(kExpectedPositiveZero, "Expected +0.0") \ |
1092 V(kExpectedAllocationSiteInCell, \ | 1092 V(kExpectedAllocationSiteInCell, "Expected AllocationSite in property cell")\ |
1093 "Expected AllocationSite in property cell") \ | |
1094 V(kExpectedFixedArrayInFeedbackVector, \ | 1093 V(kExpectedFixedArrayInFeedbackVector, \ |
1095 "Expected fixed array in feedback vector") \ | 1094 "Expected fixed array in feedback vector") \ |
1096 V(kExpectedFixedArrayInRegisterA2, \ | 1095 V(kExpectedFixedArrayInRegisterA2, "Expected fixed array in register a2") \ |
1097 "Expected fixed array in register a2") \ | 1096 V(kExpectedFixedArrayInRegisterEbx, "Expected fixed array in register ebx") \ |
1098 V(kExpectedFixedArrayInRegisterEbx, \ | 1097 V(kExpectedFixedArrayInRegisterR2, "Expected fixed array in register r2") \ |
1099 "Expected fixed array in register ebx") \ | 1098 V(kExpectedFixedArrayInRegisterRbx, "Expected fixed array in register rbx") \ |
1100 V(kExpectedFixedArrayInRegisterR2, \ | |
1101 "Expected fixed array in register r2") \ | |
1102 V(kExpectedFixedArrayInRegisterRbx, \ | |
1103 "Expected fixed array in register rbx") \ | |
1104 V(kExpectedNewSpaceObject, "Expected new space object") \ | 1099 V(kExpectedNewSpaceObject, "Expected new space object") \ |
1105 V(kExpectedSmiOrHeapNumber, "Expected smi or HeapNumber") \ | 1100 V(kExpectedSmiOrHeapNumber, "Expected smi or HeapNumber") \ |
1106 V(kExpectedUndefinedOrCell, \ | 1101 V(kExpectedUndefinedOrCell, "Expected undefined or cell in register") \ |
1107 "Expected undefined or cell in register") \ | 1102 V(kExpectingAlignmentForCopyBytes, "Expecting alignment for CopyBytes") \ |
1108 V(kExpectingAlignmentForCopyBytes, \ | |
1109 "Expecting alignment for CopyBytes") \ | |
1110 V(kExportDeclaration, "Export declaration") \ | 1103 V(kExportDeclaration, "Export declaration") \ |
1111 V(kExternalStringExpectedButNotFound, \ | 1104 V(kExternalStringExpectedButNotFound, \ |
1112 "External string expected, but not found") \ | 1105 "External string expected, but not found") \ |
1113 V(kFailedBailedOutLastTime, "Failed/bailed out last time") \ | 1106 V(kFailedBailedOutLastTime, "Failed/bailed out last time") \ |
1114 V(kForInStatementIsNotFastCase, "ForInStatement is not fast case") \ | 1107 V(kForInStatementIsNotFastCase, "ForInStatement is not fast case") \ |
1115 V(kForInStatementOptimizationIsDisabled, \ | 1108 V(kForInStatementOptimizationIsDisabled, \ |
1116 "ForInStatement optimization is disabled") \ | 1109 "ForInStatement optimization is disabled") \ |
1117 V(kForInStatementWithNonLocalEachVariable, \ | 1110 V(kForInStatementWithNonLocalEachVariable, \ |
1118 "ForInStatement with non-local each variable") \ | 1111 "ForInStatement with non-local each variable") \ |
1119 V(kForOfStatement, "ForOfStatement") \ | 1112 V(kForOfStatement, "ForOfStatement") \ |
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1172 V(kJSGlobalObjectNativeContextShouldBeANativeContext, \ | 1165 V(kJSGlobalObjectNativeContextShouldBeANativeContext, \ |
1173 "JSGlobalObject::native_context should be a native context") \ | 1166 "JSGlobalObject::native_context should be a native context") \ |
1174 V(kJSGlobalProxyContextShouldNotBeNull, \ | 1167 V(kJSGlobalProxyContextShouldNotBeNull, \ |
1175 "JSGlobalProxy::context() should not be null") \ | 1168 "JSGlobalProxy::context() should not be null") \ |
1176 V(kJSObjectWithFastElementsMapHasSlowElements, \ | 1169 V(kJSObjectWithFastElementsMapHasSlowElements, \ |
1177 "JSObject with fast elements map has slow elements") \ | 1170 "JSObject with fast elements map has slow elements") \ |
1178 V(kLetBindingReInitialization, "Let binding re-initialization") \ | 1171 V(kLetBindingReInitialization, "Let binding re-initialization") \ |
1179 V(kLhsHasBeenClobbered, "lhs has been clobbered") \ | 1172 V(kLhsHasBeenClobbered, "lhs has been clobbered") \ |
1180 V(kLiveBytesCountOverflowChunkSize, "Live Bytes Count overflow chunk size") \ | 1173 V(kLiveBytesCountOverflowChunkSize, "Live Bytes Count overflow chunk size") \ |
1181 V(kLiveEdit, "LiveEdit") \ | 1174 V(kLiveEdit, "LiveEdit") \ |
1182 V(kLookupVariableInCountOperation, \ | 1175 V(kLookupVariableInCountOperation, "Lookup variable in count operation") \ |
1183 "Lookup variable in count operation") \ | |
1184 V(kMapBecameDeprecated, "Map became deprecated") \ | 1176 V(kMapBecameDeprecated, "Map became deprecated") \ |
1185 V(kMapBecameUnstable, "Map became unstable") \ | 1177 V(kMapBecameUnstable, "Map became unstable") \ |
1186 V(kMapIsNoLongerInEax, "Map is no longer in eax") \ | 1178 V(kMapIsNoLongerInEax, "Map is no longer in eax") \ |
1187 V(kModuleDeclaration, "Module declaration") \ | 1179 V(kModuleDeclaration, "Module declaration") \ |
1188 V(kModuleLiteral, "Module literal") \ | 1180 V(kModuleLiteral, "Module literal") \ |
1189 V(kModulePath, "Module path") \ | 1181 V(kModulePath, "Module path") \ |
1190 V(kModuleStatement, "Module statement") \ | 1182 V(kModuleStatement, "Module statement") \ |
1191 V(kModuleVariable, "Module variable") \ | 1183 V(kModuleVariable, "Module variable") \ |
1192 V(kModuleUrl, "Module url") \ | 1184 V(kModuleUrl, "Module url") \ |
1193 V(kNativeFunctionLiteral, "Native function literal") \ | 1185 V(kNativeFunctionLiteral, "Native function literal") \ |
| 1186 V(kSuperReference, "Super reference") \ |
1194 V(kNeedSmiLiteral, "Need a Smi literal here") \ | 1187 V(kNeedSmiLiteral, "Need a Smi literal here") \ |
1195 V(kNoCasesLeft, "No cases left") \ | 1188 V(kNoCasesLeft, "No cases left") \ |
1196 V(kNoEmptyArraysHereInEmitFastAsciiArrayJoin, \ | 1189 V(kNoEmptyArraysHereInEmitFastAsciiArrayJoin, \ |
1197 "No empty arrays here in EmitFastAsciiArrayJoin") \ | 1190 "No empty arrays here in EmitFastAsciiArrayJoin") \ |
1198 V(kNonInitializerAssignmentToConst, \ | 1191 V(kNonInitializerAssignmentToConst, "Non-initializer assignment to const") \ |
1199 "Non-initializer assignment to const") \ | |
1200 V(kNonSmiIndex, "Non-smi index") \ | 1192 V(kNonSmiIndex, "Non-smi index") \ |
1201 V(kNonSmiKeyInArrayLiteral, "Non-smi key in array literal") \ | 1193 V(kNonSmiKeyInArrayLiteral, "Non-smi key in array literal") \ |
1202 V(kNonSmiValue, "Non-smi value") \ | 1194 V(kNonSmiValue, "Non-smi value") \ |
1203 V(kNonObject, "Non-object value") \ | 1195 V(kNonObject, "Non-object value") \ |
1204 V(kNotEnoughVirtualRegistersForValues, \ | 1196 V(kNotEnoughVirtualRegistersForValues, \ |
1205 "Not enough virtual registers for values") \ | 1197 "Not enough virtual registers for values") \ |
1206 V(kNotEnoughSpillSlotsForOsr, \ | 1198 V(kNotEnoughSpillSlotsForOsr, "Not enough spill slots for OSR") \ |
1207 "Not enough spill slots for OSR") \ | |
1208 V(kNotEnoughVirtualRegistersRegalloc, \ | 1199 V(kNotEnoughVirtualRegistersRegalloc, \ |
1209 "Not enough virtual registers (regalloc)") \ | 1200 "Not enough virtual registers (regalloc)") \ |
1210 V(kObjectFoundInSmiOnlyArray, "Object found in smi-only array") \ | 1201 V(kObjectFoundInSmiOnlyArray, "Object found in smi-only array") \ |
1211 V(kObjectLiteralWithComplexProperty, \ | 1202 V(kObjectLiteralWithComplexProperty, "Object literal with complex property")\ |
1212 "Object literal with complex property") \ | |
1213 V(kOddballInStringTableIsNotUndefinedOrTheHole, \ | 1203 V(kOddballInStringTableIsNotUndefinedOrTheHole, \ |
1214 "Oddball in string table is not undefined or the hole") \ | 1204 "Oddball in string table is not undefined or the hole") \ |
1215 V(kOffsetOutOfRange, "Offset out of range") \ | 1205 V(kOffsetOutOfRange, "Offset out of range") \ |
1216 V(kOperandIsASmiAndNotAName, "Operand is a smi and not a name") \ | 1206 V(kOperandIsASmiAndNotAName, "Operand is a smi and not a name") \ |
1217 V(kOperandIsASmiAndNotAString, "Operand is a smi and not a string") \ | 1207 V(kOperandIsASmiAndNotAString, "Operand is a smi and not a string") \ |
1218 V(kOperandIsASmi, "Operand is a smi") \ | 1208 V(kOperandIsASmi, "Operand is a smi") \ |
1219 V(kOperandIsNotAName, "Operand is not a name") \ | 1209 V(kOperandIsNotAName, "Operand is not a name") \ |
1220 V(kOperandIsNotANumber, "Operand is not a number") \ | 1210 V(kOperandIsNotANumber, "Operand is not a number") \ |
1221 V(kOperandIsNotASmi, "Operand is not a smi") \ | 1211 V(kOperandIsNotASmi, "Operand is not a smi") \ |
1222 V(kOperandIsNotAString, "Operand is not a string") \ | 1212 V(kOperandIsNotAString, "Operand is not a string") \ |
1223 V(kOperandIsNotSmi, "Operand is not smi") \ | 1213 V(kOperandIsNotSmi, "Operand is not smi") \ |
1224 V(kOperandNotANumber, "Operand not a number") \ | 1214 V(kOperandNotANumber, "Operand not a number") \ |
1225 V(kObjectTagged, "The object is tagged") \ | 1215 V(kObjectTagged, "The object is tagged") \ |
1226 V(kObjectNotTagged, "The object is not tagged") \ | 1216 V(kObjectNotTagged, "The object is not tagged") \ |
1227 V(kOptimizationDisabled, "Optimization is disabled") \ | 1217 V(kOptimizationDisabled, "Optimization is disabled") \ |
1228 V(kOptimizedTooManyTimes, "Optimized too many times") \ | 1218 V(kOptimizedTooManyTimes, "Optimized too many times") \ |
1229 V(kOutOfVirtualRegistersWhileTryingToAllocateTempRegister, \ | 1219 V(kOutOfVirtualRegistersWhileTryingToAllocateTempRegister, \ |
1230 "Out of virtual registers while trying to allocate temp register") \ | 1220 "Out of virtual registers while trying to allocate temp register") \ |
1231 V(kParseScopeError, "Parse/scope error") \ | 1221 V(kParseScopeError, "Parse/scope error") \ |
1232 V(kPossibleDirectCallToEval, "Possible direct call to eval") \ | 1222 V(kPossibleDirectCallToEval, "Possible direct call to eval") \ |
1233 V(kPreconditionsWereNotMet, "Preconditions were not met") \ | 1223 V(kPreconditionsWereNotMet, "Preconditions were not met") \ |
1234 V(kPropertyAllocationCountFailed, "Property allocation count failed") \ | 1224 V(kPropertyAllocationCountFailed, "Property allocation count failed") \ |
1235 V(kReceivedInvalidReturnAddress, "Received invalid return address") \ | 1225 V(kReceivedInvalidReturnAddress, "Received invalid return address") \ |
1236 V(kReferenceToAVariableWhichRequiresDynamicLookup, \ | 1226 V(kReferenceToAVariableWhichRequiresDynamicLookup, \ |
1237 "Reference to a variable which requires dynamic lookup") \ | 1227 "Reference to a variable which requires dynamic lookup") \ |
1238 V(kReferenceToGlobalLexicalVariable, \ | 1228 V(kReferenceToGlobalLexicalVariable, "Reference to global lexical variable")\ |
1239 "Reference to global lexical variable") \ | |
1240 V(kReferenceToUninitializedVariable, "Reference to uninitialized variable") \ | 1229 V(kReferenceToUninitializedVariable, "Reference to uninitialized variable") \ |
1241 V(kRegisterDidNotMatchExpectedRoot, "Register did not match expected root") \ | 1230 V(kRegisterDidNotMatchExpectedRoot, "Register did not match expected root") \ |
1242 V(kRegisterWasClobbered, "Register was clobbered") \ | 1231 V(kRegisterWasClobbered, "Register was clobbered") \ |
1243 V(kRememberedSetPointerInNewSpace, "Remembered set pointer is in new space") \ | 1232 V(kRememberedSetPointerInNewSpace, "Remembered set pointer is in new space")\ |
1244 V(kReturnAddressNotFoundInFrame, "Return address not found in frame") \ | 1233 V(kReturnAddressNotFoundInFrame, "Return address not found in frame") \ |
1245 V(kRhsHasBeenClobbered, "Rhs has been clobbered") \ | 1234 V(kRhsHasBeenClobbered, "Rhs has been clobbered") \ |
1246 V(kScopedBlock, "ScopedBlock") \ | 1235 V(kScopedBlock, "ScopedBlock") \ |
1247 V(kSmiAdditionOverflow, "Smi addition overflow") \ | 1236 V(kSmiAdditionOverflow, "Smi addition overflow") \ |
1248 V(kSmiSubtractionOverflow, "Smi subtraction overflow") \ | 1237 V(kSmiSubtractionOverflow, "Smi subtraction overflow") \ |
1249 V(kStackAccessBelowStackPointer, "Stack access below stack pointer") \ | 1238 V(kStackAccessBelowStackPointer, "Stack access below stack pointer") \ |
1250 V(kStackFrameTypesMustMatch, "Stack frame types must match") \ | 1239 V(kStackFrameTypesMustMatch, "Stack frame types must match") \ |
1251 V(kSwitchStatementMixedOrNonLiteralSwitchLabels, \ | 1240 V(kSwitchStatementMixedOrNonLiteralSwitchLabels, \ |
1252 "SwitchStatement: mixed or non-literal switch labels") \ | 1241 "SwitchStatement: mixed or non-literal switch labels") \ |
1253 V(kSwitchStatementTooManyClauses, "SwitchStatement: too many clauses") \ | 1242 V(kSwitchStatementTooManyClauses, "SwitchStatement: too many clauses") \ |
(...skipping 10019 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
11273 } else { | 11262 } else { |
11274 value &= ~(1 << bit_position); | 11263 value &= ~(1 << bit_position); |
11275 } | 11264 } |
11276 return value; | 11265 return value; |
11277 } | 11266 } |
11278 }; | 11267 }; |
11279 | 11268 |
11280 } } // namespace v8::internal | 11269 } } // namespace v8::internal |
11281 | 11270 |
11282 #endif // V8_OBJECTS_H_ | 11271 #endif // V8_OBJECTS_H_ |
OLD | NEW |