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 235 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
246 F(DebugEvaluate, 4) \ | 246 F(DebugEvaluate, 4) \ |
247 F(DebugEvaluateGlobal, 3) \ | 247 F(DebugEvaluateGlobal, 3) \ |
248 F(DebugGetLoadedScripts, 0) \ | 248 F(DebugGetLoadedScripts, 0) \ |
249 F(DebugReferencedBy, 3) \ | 249 F(DebugReferencedBy, 3) \ |
250 F(DebugConstructedBy, 2) \ | 250 F(DebugConstructedBy, 2) \ |
251 F(DebugGetPrototype, 1) \ | 251 F(DebugGetPrototype, 1) \ |
252 F(SystemBreak, 0) \ | 252 F(SystemBreak, 0) \ |
253 \ | 253 \ |
254 /* Literals */ \ | 254 /* Literals */ \ |
255 F(MaterializeRegExpLiteral, 4)\ | 255 F(MaterializeRegExpLiteral, 4)\ |
256 F(CreateArrayLiteral, 2) \ | 256 F(CreateArrayLiteralBoilerplate, 3) \ |
257 F(CreateObjectLiteralBoilerplate, 3) \ | 257 F(CreateObjectLiteralBoilerplate, 3) \ |
258 F(CloneObjectLiteralBoilerplate, 1) \ | 258 F(CloneLiteralBoilerplate, 1) \ |
| 259 F(CloneShallowLiteralBoilerplate, 1) \ |
259 \ | 260 \ |
260 /* Catch context extension objects */ \ | 261 /* Catch context extension objects */ \ |
261 F(CreateCatchExtensionObject, 2) \ | 262 F(CreateCatchExtensionObject, 2) \ |
262 \ | 263 \ |
263 /* Statements */ \ | 264 /* Statements */ \ |
264 F(NewClosure, 2) \ | 265 F(NewClosure, 2) \ |
265 F(NewObject, 1) \ | 266 F(NewObject, 1) \ |
266 F(Throw, 1) \ | 267 F(Throw, 1) \ |
267 F(ReThrow, 1) \ | 268 F(ReThrow, 1) \ |
268 F(ThrowReferenceError, 1) \ | 269 F(ThrowReferenceError, 1) \ |
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
321 // Runtime provides access to all C++ runtime functions. | 322 // Runtime provides access to all C++ runtime functions. |
322 | 323 |
323 class Runtime : public AllStatic { | 324 class Runtime : public AllStatic { |
324 public: | 325 public: |
325 enum FunctionId { | 326 enum FunctionId { |
326 #define F(name, nargs) k##name, | 327 #define F(name, nargs) k##name, |
327 RUNTIME_FUNCTION_LIST(F) | 328 RUNTIME_FUNCTION_LIST(F) |
328 kNofFunctions | 329 kNofFunctions |
329 #undef F | 330 #undef F |
330 }; | 331 }; |
331 static Object* CreateArrayLiteral(Arguments args); | |
332 | 332 |
333 // Runtime function descriptor. | 333 // Runtime function descriptor. |
334 struct Function { | 334 struct Function { |
335 // The JS name of the function. | 335 // The JS name of the function. |
336 const char* name; | 336 const char* name; |
337 | 337 |
338 // The name of the stub that calls the runtime function. | 338 // The name of the stub that calls the runtime function. |
339 const char* stub_name; | 339 const char* stub_name; |
340 | 340 |
341 // The C++ (native) entry point. | 341 // The C++ (native) entry point. |
(...skipping 28 matching lines...) Expand all Loading... |
370 static Object* GetObjectProperty(Handle<Object> object, Handle<Object> key); | 370 static Object* GetObjectProperty(Handle<Object> object, Handle<Object> key); |
371 | 371 |
372 // Helper functions used stubs. | 372 // Helper functions used stubs. |
373 static void PerformGC(Object* result); | 373 static void PerformGC(Object* result); |
374 }; | 374 }; |
375 | 375 |
376 | 376 |
377 } } // namespace v8::internal | 377 } } // namespace v8::internal |
378 | 378 |
379 #endif // V8_RUNTIME_H_ | 379 #endif // V8_RUNTIME_H_ |
OLD | NEW |