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