| 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 |