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

Side by Side Diff: src/code-stubs.h

Issue 132623005: A64: Synchronize with r18642. (Closed) Base URL: https://v8.googlecode.com/svn/branches/experimental/a64
Patch Set: Created 6 years, 10 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
« no previous file with comments | « src/bootstrapper.cc ('k') | src/debug.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 307 matching lines...) Expand 10 before | Expand all | Expand 10 after
318 318
319 ExternalReference miss_handler() { 319 ExternalReference miss_handler() {
320 ASSERT(has_miss_handler_); 320 ASSERT(has_miss_handler_);
321 return miss_handler_; 321 return miss_handler_;
322 } 322 }
323 323
324 bool has_miss_handler() { 324 bool has_miss_handler() {
325 return has_miss_handler_; 325 return has_miss_handler_;
326 } 326 }
327 327
328 Register GetParameterRegister(int index) { 328 Register GetParameterRegister(int index) const {
329 return register_params_[index]; 329 return register_params_[index];
330 } 330 }
331 331
332 bool IsParameterCountRegister(int index) { 332 bool IsParameterCountRegister(int index) {
333 return GetParameterRegister(index).is(stack_parameter_count_); 333 return GetParameterRegister(index).is(stack_parameter_count_);
334 } 334 }
335 335
336 int GetHandlerParameterCount() { 336 int GetHandlerParameterCount() {
337 int params = environment_length(); 337 int params = environment_length();
338 if (handler_arguments_mode_ == PASS_ARGUMENTS) { 338 if (handler_arguments_mode_ == PASS_ARGUMENTS) {
339 params += 1; 339 params += 1;
340 } 340 }
341 return params; 341 return params;
342 } 342 }
343 343
344 private: 344 private:
345 ExternalReference miss_handler_; 345 ExternalReference miss_handler_;
346 bool has_miss_handler_; 346 bool has_miss_handler_;
347 }; 347 };
348 348
349 349
350 struct PlatformCallInterfaceDescriptor;
351
352
353 struct CallInterfaceDescriptor {
354 CallInterfaceDescriptor()
355 : register_param_count_(-1),
356 register_params_(NULL),
357 param_representations_(NULL),
358 platform_specific_descriptor_(NULL) { }
359
360 bool initialized() const { return register_param_count_ >= 0; }
361
362 int environment_length() const {
363 return register_param_count_;
364 }
365
366 Representation GetParameterRepresentation(int index) const {
367 return param_representations_[index];
368 }
369
370 Register GetParameterRegister(int index) const {
371 return register_params_[index];
372 }
373
374 PlatformCallInterfaceDescriptor* platform_specific_descriptor() const {
375 return platform_specific_descriptor_;
376 }
377
378 int register_param_count_;
379 Register* register_params_;
380 Representation* param_representations_;
381 PlatformCallInterfaceDescriptor* platform_specific_descriptor_;
382 };
383
384
350 class HydrogenCodeStub : public CodeStub { 385 class HydrogenCodeStub : public CodeStub {
351 public: 386 public:
352 enum InitializationState { 387 enum InitializationState {
353 UNINITIALIZED, 388 UNINITIALIZED,
354 INITIALIZED 389 INITIALIZED
355 }; 390 };
356 391
357 explicit HydrogenCodeStub(InitializationState state = INITIALIZED) { 392 explicit HydrogenCodeStub(InitializationState state = INITIALIZED) {
358 is_uninitialized_ = (state == UNINITIALIZED); 393 is_uninitialized_ = (state == UNINITIALIZED);
359 } 394 }
(...skipping 2097 matching lines...) Expand 10 before | Expand all | Expand 10 after
2457 Isolate* isolate); 2492 Isolate* isolate);
2458 2493
2459 Major MajorKey() { return ProfileEntryHook; } 2494 Major MajorKey() { return ProfileEntryHook; }
2460 int MinorKey() { return 0; } 2495 int MinorKey() { return 0; }
2461 2496
2462 void Generate(MacroAssembler* masm); 2497 void Generate(MacroAssembler* masm);
2463 2498
2464 DISALLOW_COPY_AND_ASSIGN(ProfileEntryHookStub); 2499 DISALLOW_COPY_AND_ASSIGN(ProfileEntryHookStub);
2465 }; 2500 };
2466 2501
2502
2503 class CallDescriptors {
2504 public:
2505 static void InitializeForIsolate(Isolate* isolate);
2506 };
2507
2467 } } // namespace v8::internal 2508 } } // namespace v8::internal
2468 2509
2469 #endif // V8_CODE_STUBS_H_ 2510 #endif // V8_CODE_STUBS_H_
OLDNEW
« no previous file with comments | « src/bootstrapper.cc ('k') | src/debug.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698