OLD | NEW |
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 249 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
260 Handle<FixedArray> AddKeysFromJSArray(Handle<FixedArray>, | 260 Handle<FixedArray> AddKeysFromJSArray(Handle<FixedArray>, |
261 Handle<JSArray> array); | 261 Handle<JSArray> array); |
262 | 262 |
263 // Get the JS object corresponding to the given script; create it | 263 // Get the JS object corresponding to the given script; create it |
264 // if none exists. | 264 // if none exists. |
265 Handle<JSValue> GetScriptWrapper(Handle<Script> script); | 265 Handle<JSValue> GetScriptWrapper(Handle<Script> script); |
266 | 266 |
267 // Script line number computations. | 267 // Script line number computations. |
268 void InitScriptLineEnds(Handle<Script> script); | 268 void InitScriptLineEnds(Handle<Script> script); |
269 int GetScriptLineNumber(Handle<Script> script, int code_position); | 269 int GetScriptLineNumber(Handle<Script> script, int code_position); |
| 270 // The safe version does not make heap allocations but may work much slower. |
| 271 int GetScriptLineNumberSafe(Handle<Script> script, int code_position); |
270 | 272 |
271 // Computes the enumerable keys from interceptors. Used for debug mirrors and | 273 // Computes the enumerable keys from interceptors. Used for debug mirrors and |
272 // by GetKeysInFixedArrayFor below. | 274 // by GetKeysInFixedArrayFor below. |
273 v8::Handle<v8::Array> GetKeysForNamedInterceptor(Handle<JSObject> receiver, | 275 v8::Handle<v8::Array> GetKeysForNamedInterceptor(Handle<JSObject> receiver, |
274 Handle<JSObject> object); | 276 Handle<JSObject> object); |
275 v8::Handle<v8::Array> GetKeysForIndexedInterceptor(Handle<JSObject> receiver, | 277 v8::Handle<v8::Array> GetKeysForIndexedInterceptor(Handle<JSObject> receiver, |
276 Handle<JSObject> object); | 278 Handle<JSObject> object); |
277 | 279 |
278 enum KeyCollectionType { LOCAL_ONLY, INCLUDE_PROTOS }; | 280 enum KeyCollectionType { LOCAL_ONLY, INCLUDE_PROTOS }; |
279 | 281 |
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
373 private: | 375 private: |
374 bool has_been_transformed_; // Tells whether the object has been transformed. | 376 bool has_been_transformed_; // Tells whether the object has been transformed. |
375 int unused_property_fields_; // Captures the unused number of field. | 377 int unused_property_fields_; // Captures the unused number of field. |
376 Handle<JSObject> object_; // The object being optimized. | 378 Handle<JSObject> object_; // The object being optimized. |
377 }; | 379 }; |
378 | 380 |
379 | 381 |
380 } } // namespace v8::internal | 382 } } // namespace v8::internal |
381 | 383 |
382 #endif // V8_HANDLES_H_ | 384 #endif // V8_HANDLES_H_ |
OLD | NEW |