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