dart-sdk/runtime/vm/regexp_interpreter.h
Ryan Macnak 347b72c260 [vm] Bypass malloc for large Zone allocations to avoid jemalloc leaks.
Revert 9a07ad88f4.

Bug: https://github.com/flutter/flutter/issues/29007
Change-Id: I6a5f51f0c3a54d354ec5f8495677d46f94d8a1d3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/100568
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Zach Anderson <zra@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2019-04-30 16:17:18 +00:00

30 lines
904 B
C++

// Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
// A simple interpreter for the Irregexp byte code.
#ifndef RUNTIME_VM_REGEXP_INTERPRETER_H_
#define RUNTIME_VM_REGEXP_INTERPRETER_H_
#include "vm/allocation.h"
#include "vm/object.h"
#include "vm/zone.h"
namespace dart {
class IrregexpInterpreter : public AllStatic {
public:
enum IrregexpResult { RE_FAILURE = 0, RE_SUCCESS = 1, RE_EXCEPTION = -1 };
static IrregexpResult Match(const TypedData& bytecode,
const String& subject,
int32_t* captures,
intptr_t start_position,
Zone* zone);
};
} // namespace dart
#endif // RUNTIME_VM_REGEXP_INTERPRETER_H_