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

Side by Side Diff: src/handles.h

Issue 8345038: Handlify the runtime lookup of CallIC and KeyedCallIC. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 9 years, 2 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 228 matching lines...) Expand 10 before | Expand all | Expand 10 after
239 uint32_t index, 239 uint32_t index,
240 Handle<Object> value, 240 Handle<Object> value,
241 StrictModeFlag strict_mode); 241 StrictModeFlag strict_mode);
242 242
243 Handle<Object> GetProperty(Handle<JSReceiver> obj, 243 Handle<Object> GetProperty(Handle<JSReceiver> obj,
244 const char* name); 244 const char* name);
245 245
246 Handle<Object> GetProperty(Handle<Object> obj, 246 Handle<Object> GetProperty(Handle<Object> obj,
247 Handle<Object> key); 247 Handle<Object> key);
248 248
249 Handle<Object> GetElement(Handle<Object> obj,
250 uint32_t index);
251
252 Handle<Object> GetPropertyWithInterceptor(Handle<JSObject> receiver, 249 Handle<Object> GetPropertyWithInterceptor(Handle<JSObject> receiver,
253 Handle<JSObject> holder, 250 Handle<JSObject> holder,
254 Handle<String> name, 251 Handle<String> name,
255 PropertyAttributes* attributes); 252 PropertyAttributes* attributes);
256 253
257 Handle<Object> GetPrototype(Handle<Object> obj); 254 Handle<Object> GetPrototype(Handle<Object> obj);
258 255
259 Handle<Object> SetPrototype(Handle<JSObject> obj, Handle<Object> value); 256 Handle<Object> SetPrototype(Handle<JSObject> obj, Handle<Object> value);
260 257
261 // Sets a hidden property on an object. Returns obj on success, undefined 258 // Sets a hidden property on an object. Returns obj on success, undefined
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
338 335
339 Handle<Object> SetPrototype(Handle<JSFunction> function, 336 Handle<Object> SetPrototype(Handle<JSFunction> function,
340 Handle<Object> prototype); 337 Handle<Object> prototype);
341 338
342 Handle<Object> PreventExtensions(Handle<JSObject> object); 339 Handle<Object> PreventExtensions(Handle<JSObject> object);
343 340
344 Handle<ObjectHashTable> PutIntoObjectHashTable(Handle<ObjectHashTable> table, 341 Handle<ObjectHashTable> PutIntoObjectHashTable(Handle<ObjectHashTable> table,
345 Handle<JSReceiver> key, 342 Handle<JSReceiver> key,
346 Handle<Object> value); 343 Handle<Object> value);
347 344
348 // Does lazy compilation of the given function. Returns true on success and
349 // false if the compilation resulted in a stack overflow.
350 enum ClearExceptionFlag { KEEP_EXCEPTION, CLEAR_EXCEPTION };
351
352 bool EnsureCompiled(Handle<SharedFunctionInfo> shared,
353 ClearExceptionFlag flag);
354
355 bool CompileLazyShared(Handle<SharedFunctionInfo> shared,
356 ClearExceptionFlag flag);
357
358 bool CompileLazy(Handle<JSFunction> function, ClearExceptionFlag flag);
359
360 bool CompileOptimized(Handle<JSFunction> function,
361 int osr_ast_id,
362 ClearExceptionFlag flag);
363
364 class NoHandleAllocation BASE_EMBEDDED { 345 class NoHandleAllocation BASE_EMBEDDED {
365 public: 346 public:
366 #ifndef DEBUG 347 #ifndef DEBUG
367 NoHandleAllocation() {} 348 NoHandleAllocation() {}
368 ~NoHandleAllocation() {} 349 ~NoHandleAllocation() {}
369 #else 350 #else
370 inline NoHandleAllocation(); 351 inline NoHandleAllocation();
371 inline ~NoHandleAllocation(); 352 inline ~NoHandleAllocation();
372 private: 353 private:
373 int level_; 354 int level_;
374 #endif 355 #endif
375 }; 356 };
376 357
377 } } // namespace v8::internal 358 } } // namespace v8::internal
378 359
379 #endif // V8_HANDLES_H_ 360 #endif // V8_HANDLES_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698