| OLD | NEW |
| 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef RUNTIME_VM_INTERMEDIATE_LANGUAGE_H_ | 5 #ifndef RUNTIME_VM_INTERMEDIATE_LANGUAGE_H_ |
| 6 #define RUNTIME_VM_INTERMEDIATE_LANGUAGE_H_ | 6 #define RUNTIME_VM_INTERMEDIATE_LANGUAGE_H_ |
| 7 | 7 |
| 8 #include "vm/allocation.h" | 8 #include "vm/allocation.h" |
| 9 #include "vm/ast.h" | 9 #include "vm/ast.h" |
| 10 #include "vm/growable_array.h" | 10 #include "vm/growable_array.h" |
| (...skipping 3380 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3391 token_pos_(node->token_pos()) {} | 3391 token_pos_(node->token_pos()) {} |
| 3392 | 3392 |
| 3393 NativeCallInstr(const String* name, | 3393 NativeCallInstr(const String* name, |
| 3394 const Function* function, | 3394 const Function* function, |
| 3395 bool link_lazily, | 3395 bool link_lazily, |
| 3396 TokenPosition position) | 3396 TokenPosition position) |
| 3397 : native_name_(name), | 3397 : native_name_(name), |
| 3398 function_(function), | 3398 function_(function), |
| 3399 native_c_function_(NULL), | 3399 native_c_function_(NULL), |
| 3400 is_bootstrap_native_(false), | 3400 is_bootstrap_native_(false), |
| 3401 is_auto_scope_(true), |
| 3401 link_lazily_(link_lazily), | 3402 link_lazily_(link_lazily), |
| 3402 token_pos_(position) {} | 3403 token_pos_(position) {} |
| 3403 | 3404 |
| 3404 DECLARE_INSTRUCTION(NativeCall) | 3405 DECLARE_INSTRUCTION(NativeCall) |
| 3405 | 3406 |
| 3406 const String& native_name() const { return *native_name_; } | 3407 const String& native_name() const { return *native_name_; } |
| 3407 const Function& function() const { return *function_; } | 3408 const Function& function() const { return *function_; } |
| 3408 NativeFunction native_c_function() const { return native_c_function_; } | 3409 NativeFunction native_c_function() const { return native_c_function_; } |
| 3409 bool is_bootstrap_native() const { return is_bootstrap_native_; } | 3410 bool is_bootstrap_native() const { return is_bootstrap_native_; } |
| 3411 bool is_auto_scope() const { return is_auto_scope_; } |
| 3410 bool link_lazily() const { return link_lazily_; } | 3412 bool link_lazily() const { return link_lazily_; } |
| 3411 virtual TokenPosition token_pos() const { return token_pos_; } | 3413 virtual TokenPosition token_pos() const { return token_pos_; } |
| 3412 | 3414 |
| 3413 virtual bool ComputeCanDeoptimize() const { return false; } | 3415 virtual bool ComputeCanDeoptimize() const { return false; } |
| 3414 | 3416 |
| 3415 virtual EffectSet Effects() const { return EffectSet::All(); } | 3417 virtual EffectSet Effects() const { return EffectSet::All(); } |
| 3416 | 3418 |
| 3417 void SetupNative(); | 3419 void SetupNative(); |
| 3418 | 3420 |
| 3419 PRINT_OPERANDS_TO_SUPPORT | 3421 PRINT_OPERANDS_TO_SUPPORT |
| 3420 | 3422 |
| 3421 private: | 3423 private: |
| 3422 void set_native_c_function(NativeFunction value) { | 3424 void set_native_c_function(NativeFunction value) { |
| 3423 native_c_function_ = value; | 3425 native_c_function_ = value; |
| 3424 } | 3426 } |
| 3425 | 3427 |
| 3426 void set_is_bootstrap_native(bool value) { is_bootstrap_native_ = value; } | 3428 void set_is_bootstrap_native(bool value) { is_bootstrap_native_ = value; } |
| 3429 void set_is_auto_scope(bool value) { is_auto_scope_ = value; } |
| 3427 | 3430 |
| 3428 const String* native_name_; | 3431 const String* native_name_; |
| 3429 const Function* function_; | 3432 const Function* function_; |
| 3430 NativeFunction native_c_function_; | 3433 NativeFunction native_c_function_; |
| 3431 bool is_bootstrap_native_; | 3434 bool is_bootstrap_native_; |
| 3435 bool is_auto_scope_; |
| 3432 bool link_lazily_; | 3436 bool link_lazily_; |
| 3433 const TokenPosition token_pos_; | 3437 const TokenPosition token_pos_; |
| 3434 | 3438 |
| 3435 DISALLOW_COPY_AND_ASSIGN(NativeCallInstr); | 3439 DISALLOW_COPY_AND_ASSIGN(NativeCallInstr); |
| 3436 }; | 3440 }; |
| 3437 | 3441 |
| 3438 | 3442 |
| 3439 class DebugStepCheckInstr : public TemplateInstruction<0, NoThrow> { | 3443 class DebugStepCheckInstr : public TemplateInstruction<0, NoThrow> { |
| 3440 public: | 3444 public: |
| 3441 DebugStepCheckInstr(TokenPosition token_pos, RawPcDescriptors::Kind stub_kind) | 3445 DebugStepCheckInstr(TokenPosition token_pos, RawPcDescriptors::Kind stub_kind) |
| (...skipping 4597 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 8039 LocationSummary* Name::MakeLocationSummary(Zone* zone, bool opt) const { \ | 8043 LocationSummary* Name::MakeLocationSummary(Zone* zone, bool opt) const { \ |
| 8040 UNIMPLEMENTED(); \ | 8044 UNIMPLEMENTED(); \ |
| 8041 return NULL; \ | 8045 return NULL; \ |
| 8042 } \ | 8046 } \ |
| 8043 void Name::EmitNativeCode(FlowGraphCompiler* compiler) { UNIMPLEMENTED(); } | 8047 void Name::EmitNativeCode(FlowGraphCompiler* compiler) { UNIMPLEMENTED(); } |
| 8044 | 8048 |
| 8045 | 8049 |
| 8046 } // namespace dart | 8050 } // namespace dart |
| 8047 | 8051 |
| 8048 #endif // RUNTIME_VM_INTERMEDIATE_LANGUAGE_H_ | 8052 #endif // RUNTIME_VM_INTERMEDIATE_LANGUAGE_H_ |
| OLD | NEW |