OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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 231 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
242 int argc, | 242 int argc, |
243 bool is_construct_call) | 243 bool is_construct_call) |
244 : Super(isolate), | 244 : Super(isolate), |
245 argv_(argv), | 245 argv_(argv), |
246 argc_(argc), | 246 argc_(argc), |
247 is_construct_call_(is_construct_call) { | 247 is_construct_call_(is_construct_call) { |
248 Object** values = end(); | 248 Object** values = end(); |
249 values[T::kDataIndex] = data; | 249 values[T::kDataIndex] = data; |
250 values[T::kCalleeIndex] = callee; | 250 values[T::kCalleeIndex] = callee; |
251 values[T::kHolderIndex] = holder; | 251 values[T::kHolderIndex] = holder; |
| 252 values[T::kContextSaveIndex] = isolate->heap()->the_hole_value(); |
252 values[T::kIsolateIndex] = reinterpret_cast<internal::Object*>(isolate); | 253 values[T::kIsolateIndex] = reinterpret_cast<internal::Object*>(isolate); |
253 // Here the hole is set as default value. | 254 // Here the hole is set as default value. |
254 // It cannot escape into js as it's remove in Call below. | 255 // It cannot escape into js as it's remove in Call below. |
255 values[T::kReturnValueDefaultValueIndex] = | 256 values[T::kReturnValueDefaultValueIndex] = |
256 isolate->heap()->the_hole_value(); | 257 isolate->heap()->the_hole_value(); |
257 values[T::kReturnValueIndex] = isolate->heap()->the_hole_value(); | 258 values[T::kReturnValueIndex] = isolate->heap()->the_hole_value(); |
258 ASSERT(values[T::kCalleeIndex]->IsJSFunction()); | 259 ASSERT(values[T::kCalleeIndex]->IsJSFunction()); |
259 ASSERT(values[T::kHolderIndex]->IsHeapObject()); | 260 ASSERT(values[T::kHolderIndex]->IsHeapObject()); |
260 ASSERT(values[T::kIsolateIndex]->IsSmi()); | 261 ASSERT(values[T::kIsolateIndex]->IsSmi()); |
261 } | 262 } |
(...skipping 25 matching lines...) Expand all Loading... |
287 return __RT_impl_##Name(args, isolate); \ | 288 return __RT_impl_##Name(args, isolate); \ |
288 } \ | 289 } \ |
289 static Type __RT_impl_##Name(Arguments args, Isolate* isolate) | 290 static Type __RT_impl_##Name(Arguments args, Isolate* isolate) |
290 | 291 |
291 #define RUNTIME_ARGUMENTS(isolate, args) \ | 292 #define RUNTIME_ARGUMENTS(isolate, args) \ |
292 args.length(), args.arguments(), isolate | 293 args.length(), args.arguments(), isolate |
293 | 294 |
294 } } // namespace v8::internal | 295 } } // namespace v8::internal |
295 | 296 |
296 #endif // V8_ARGUMENTS_H_ | 297 #endif // V8_ARGUMENTS_H_ |
OLD | NEW |