| Index: runtime/vm/raw_object.h
|
| diff --git a/runtime/vm/raw_object.h b/runtime/vm/raw_object.h
|
| index 8a20f92217c77feeb2534ffda49c6a5d57b583bd..e83e01e13cd5cd1e01de2fd418e60a3691efdc20 100644
|
| --- a/runtime/vm/raw_object.h
|
| +++ b/runtime/vm/raw_object.h
|
| @@ -672,6 +672,7 @@ class RawFunction : public RawObject {
|
| kMethodExtractor, // converts method into implicit closure on the receiver.
|
| kNoSuchMethodDispatcher, // invokes noSuchMethod.
|
| kInvokeFieldDispatcher, // invokes a field as a closure.
|
| + kIrregexpFunction, // represents a generated irregexp matcher function.
|
| };
|
|
|
| enum AsyncModifier {
|
| @@ -714,6 +715,7 @@ class RawFunction : public RawObject {
|
| int16_t num_fixed_parameters_;
|
| int16_t num_optional_parameters_; // > 0: positional; < 0: named.
|
| int16_t deoptimization_counter_;
|
| + int16_t regexp_cid_;
|
| uint32_t kind_tag_; // See Function::KindTagBits.
|
| uint16_t optimized_instruction_count_;
|
| uint16_t optimized_call_site_count_;
|
| @@ -1829,8 +1831,12 @@ class RawJSRegExp : public RawInstance {
|
| RawSmi* data_length_;
|
| RawSmi* num_bracket_expressions_;
|
| RawString* pattern_; // Pattern to be used for matching.
|
| + RawFunction* one_byte_function_;
|
| + RawFunction* two_byte_function_;
|
| + RawFunction* external_one_byte_function_;
|
| + RawFunction* external_two_byte_function_;
|
| RawObject** to() {
|
| - return reinterpret_cast<RawObject**>(&ptr()->pattern_);
|
| + return reinterpret_cast<RawObject**>(&ptr()->external_two_byte_function_);
|
| }
|
|
|
| // A bitfield with two fields:
|
|
|