Zachary Anderson
6cd8a79078
VM: Re-format to use at most one newline between functions
...
R=asiva@google.com
Review-Url: https://codereview.chromium.org/2974233002 .
2017-07-13 08:08:37 -07:00
Aske Simon Christensen
ab7d9a5720
Omit JIT compiler from precompiled runtime on ARM, ARM64 and IA32.
...
Saves about a megabyte on the size of the precompiled runtime VM.
Next step will be to eliminate the assemblers and code stubs as well. This requires some more disentangling.
Until then, the X64 build still includes the compiler, since its assembler has a dependency on locations.cc, which is part of the compiler.
BUG= https://github.com/dart-lang/sdk/issues/30045
R=rmacnak@google.com , zra@google.com
Review-Url: https://codereview.chromium.org/2960413002 .
2017-07-11 12:01:49 +02:00
Vyacheslav Egorov
2403444eba
VM: Optimize RegExp.matchAsPrefix(...) by generating a sticky RegExp specialization.
...
This is the same as a sticky RegExp flag in ES2015.
Overlay some RegExp fields on top of each other - given that they should never be used simultaneously.
BUG=http://dartbug.com/27810
R=rmacnak@google.com
Review URL: https://codereview.chromium.org/2510783002 .
2016-11-17 17:46:21 +01:00
Zachary Anderson
2e4dfd3a2d
clang-format runtime/lib
...
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org/2468093007 .
2016-11-04 12:14:41 -07:00
Ivan Posva
5be5d54529
- Refactor Symbol allocation to expect a thread parameter.
...
- Preallocate all tokens as symbols to avoid repeated lookups.
- Pass thread/zone where useful while doing this change.
- Avoid allocating symbols for error messages.
BUG=
R=fschneider@google.com
Review URL: https://codereview.chromium.org/1870343002 .
2016-04-11 16:28:29 -07:00
Ryan Macnak
b070d98f6e
Simpler regex names:
...
C++ JSRegExp -> RegExp
Dart _JSSyntaxRegExp -> _RegExp
Function RegExp.:irregexp: pattern -> RegExp.:matcher: pattern
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org/1815333002 .
2016-03-21 17:21:05 -07:00
Florian Schneider
48b0183926
Make precompiler work with product mode.
...
For now, change compilation-related flags to be regular
command line options. They won't affect the size of the
precompiled runtime anyway since the compiler is not included
there.
Also introduce a separate switch for precompiled runtime. This can be
used instead of the macro since it is a compile-time constant in the
precompiled runtime.
BUG=
Review URL: https://codereview.chromium.org/1759913002 .
2016-03-02 13:59:54 -08:00
Florian Schneider
d8677964a3
Move precompilation-related flags to flags list.
...
They become compile-time constants in the precompiled runtime, and in product mode.
In precompiled product mode, the precompiled value has precedence.
BUG=
R=rmacnak@google.com
Committed: https://github.com/dart-lang/sdk/commit/5c9f18c6c87284395564051a052cc4acc9b6f59a
Review URL: https://codereview.chromium.org/1731743003 .
2016-02-25 07:53:39 -08:00
Ryan Macnak
bd85deaf4e
Revert "Move precompilation-related flags to flags list."
...
The default value of print_stop_message was architecture specific.
TBR=fschneider@google.com
Review URL: https://codereview.chromium.org/1739593002 .
2016-02-24 18:08:01 -08:00
Florian Schneider
5c9f18c6c8
Move precompilation-related flags to flags list.
...
They become compile-time constants in the precompiled runtime, and in product mode.
In precompiled product mode, the precompiled value has precedence.
BUG=
R=rmacnak@google.com
Review URL: https://codereview.chromium.org/1731743003 .
2016-02-24 17:31:08 -08:00
Florian Schneider
7e40108ff5
VM: Simplify irregexp entry stub.
...
Pass on the incoming arguments descriptor when invoking an irregexp function.
Avoiding loading an arguments descriptor in the intrinsic code also allows
generated regexp code in precompiled code.
Loading a new descriptor is not necessary since the arguments are already on
the stack in the right order.
Use named constants for parameter indices in the regexp assembler.
BUG=
R=srdjan@google.com
Review URL: https://codereview.chromium.org//1305993005 .
2015-09-04 10:06:02 +02:00
Ryan Macnak
d1475c0356
Port irregexp bytecode compiler and interpreter from V8 r24065.
...
R=srdjan@google.com
Review URL: https://codereview.chromium.org//1201383002 .
2015-07-07 14:43:32 -07:00
iposva@google.com
320b0e5541
- Remove JSCRE from the runtime.
...
R=vegorov@google.com
Review URL: https://codereview.chromium.org//1071713003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44987 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-08 23:59:23 +00:00
koda@google.com
9c181ec6d5
Thread/Isolate refactoring: new(Isolate*) -> new(Zone*)
...
Refactor all remaning cases where the current zone is used through new(Isolate*) and remove this interface.
Removing this interface is needed to move towards multiple threads per isolate, and also makes the caller more aware of the scope of the zone used, reducing the risk of use-after-free.
Make the current thread and the stack zone created around native/runtime entries directly available in their body, saving an indirection (and optimized away if unused).
R=iposva@google.com
Review URL: https://codereview.chromium.org//982873004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44541 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-17 19:24:26 +00:00
zerny@google.com
0a80eaec06
Revert "Revert "Revert "Disable the irregexp backend."""
...
This enables the irregexp backend by reverting commit
http://code.google.com/p/dart/source/detail?r=42246
R=fschneider@google.com
BUG=
Review URL: https://codereview.chromium.org//800453003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42312 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-12 09:02:24 +00:00
zerny@google.com
0bfa80b5a5
Revert "Revert "Disable the irregexp backend.""
...
This reverts commit http://code.google.com/p/dart/source/detail?r=42240
Reason for revert: failures and timeouts on Dartium bots.
TBR=fschneider@google.com
BUG=
Review URL: https://codereview.chromium.org//792853002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42246 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-10 15:38:10 +00:00
zerny@google.com
d1f5aacd77
Revert "Disable the irregexp backend."
...
This reverts commit http://code.google.com/p/dart/source/detail?r=41999
R=fschneider@google.com
BUG=
Review URL: https://codereview.chromium.org//774933009
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42240 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-10 09:56:53 +00:00
zerny@google.com
487ca247d7
Disable the irregexp backend.
...
Currently the use of irregexp breaks the Dartium build.
TBR=vegorov@google.com
BUG=
Review URL: https://codereview.chromium.org//757303002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41999 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-26 16:21:08 +00:00
zerny@google.com
8e807c8550
Integrate the Irregexp Regular Expression Engine.
...
BUG=http://dartbug.com/19090
R=fschneider@google.com
Committed: https://code.google.com/p/dart/source/detail?r=41949
Review URL: https://codereview.chromium.org//744853003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41983 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-26 09:32:43 +00:00
zerny@google.com
84a4135901
Revert "Integrate the Irregexp Regular Expression Engine."
...
This reverts commit https://code.google.com/p/dart/source/detail?r=41949
TBR=fschneider@google.com
BUG=
Review URL: https://codereview.chromium.org//754383002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41950 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-25 13:36:40 +00:00
zerny@google.com
43ac0c6f33
Integrate the Irregexp Regular Expression Engine.
...
BUG=http://dartbug.com/19090
R=fschneider@google.com
Review URL: https://codereview.chromium.org//744853003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41949 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-25 13:10:21 +00:00
regis@google.com
7830430adf
Implement eager instantiation and canonicalization of type arguments at run
...
time using a cache in uninstantiated type arguments.
Remove InstantiatedTypeArguments class.
Fix a bug in optimized code: do not update unused type test cache for Smi.
Fix a bug in optimized code on ARM and MIPS in type test cache lookup.
R=iposva@google.com , srdjan@google.com
Review URL: https://codereview.chromium.org//154393003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@32447 260f80e4-7a28-3924-810f-c04153c831b5
2014-02-07 19:54:33 +00:00
kmillikin@google.com
4f80ef09df
Change Bool::Get to return a handle instead of a pointer to a raw object.
...
Replace occurrences of 'expr ? Bool::True() : Bool::False()' with simply
'Bool::Get(expr)' and analogously for its negation. The pointer to the raw
object can still be extracted with 'Bool::Get(expr).raw()'.
R=iposva@google.com , srdjan@google.com
Review URL: https://codereview.chromium.org//23480005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26770 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-28 08:38:56 +00:00
floitsch@google.com
9722e27876
Remove deprecated IllegalJSRegExpException class.
...
Review URL: https://codereview.chromium.org//12317130
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19297 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-01 12:14:45 +00:00
floitsch@google.com
4a7dfd2da3
Big merge from experimental to bleeding edge.
...
Review URL: https://codereview.chromium.org//11783009
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16687 260f80e4-7a28-3924-810f-c04153c831b5
2013-01-07 11:23:16 +00:00
asiva@google.com
4c069867e4
- Make Boolean 'true' and 'false' singleton VM isolate objects.
...
- Change all uses of it
Review URL: https://codereview.chromium.org//11745022
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16623 260f80e4-7a28-3924-810f-c04153c831b5
2013-01-04 01:52:05 +00:00
asiva@google.com
8af296c9c8
Cleanup the exceptions create code to use Arrays instead GrowableArrays so
...
that it is consistent with the DartEntry invoke code that it calls finally.
Review URL: https://codereview.chromium.org//11639007
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16295 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-18 23:47:35 +00:00
regis@google.com
dd6a0ec349
Rename GET_NATIVE_ARGUMENT macro to GET_NON_NULL_NATIVE_ARGUMENT.
...
Introduce new GET_NATIVE_ARGUMENT macro accepting null.
Add test.
Review URL: https://codereview.chromium.org//11468016
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15919 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-10 17:59:40 +00:00
lrn@google.com
22309b260c
Remove NullPointerException.
...
Accessing non-existing members on null now throws NoSuchMethodError.
Throwing a null value fails by throwing a NullThrownError.
Methods checking for null now generally throw new ArgumentError(null).
Committed: https://code.google.com/p/dart/source/detail?r=15061
Review URL: https://codereview.chromium.org//11415028
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15136 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-20 09:21:52 +00:00
lrn@google.com
0c8dce77f1
Revert "Remove NullPointerException."
...
Crashes in the x64 VM.
Review URL: https://codereview.chromium.org//11417058
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15065 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-19 09:59:59 +00:00
lrn@google.com
e211c2f0ee
Remove NullPointerException.
...
Accessing non-existing members on null now throws NoSuchMethodError.
Throwing a null value fails by throwing a NullThrownError.
Methods checking for null now generally throw new ArgumentError(null).
Review URL: https://codereview.chromium.org//11415028
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15061 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-19 08:51:49 +00:00
hausner@google.com
7eb3efc2ba
Fix native argument handling
...
Native functions need to fetch arguments differently if they are
called through a closure.
fixes issue 6696.
Review URL: https://codereview.chromium.org//11293290
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@14937 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-15 01:14:01 +00:00
turnidge@google.com
14f614da12
Use the return value of vm native methods to set the return value,
...
based on Siva's earlier suggestion (he actually suggested putting it
in the generated stub, which I haven't done).
Added SetReturnUnsafe and use it exactly one place so far.
Review URL: https://chromiumcodereview.appspot.com//10874072
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11633 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-30 17:41:19 +00:00
srdjan@google.com
eddf1bcee9
Fox issue 2108: throw illegal argument exception for RegExp natives. Continue throwin NPE where expected.
...
Review URL: https://chromiumcodereview.appspot.com//9669054
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@5343 260f80e4-7a28-3924-810f-c04153c831b5
2012-03-12 19:00:54 +00:00
sgjesse@google.com
bf67f24098
Move assert.h/assert.cc from runtime/vm to runtime/platform
...
The purpose of this change is twofold:
1. Source in the bin directory can now use the same assertions as
source in the vm directory. The ASSERT macro used by the code
in runtime/bin was just defined to use assert from the standard
C library.
2. Moving other implementation parts from runtime/vm to
runtime/platform (e.g. classes Monitor and Mutex) for sharing
between runtime/bin and runtime/vm will be easier as these
implementations rely on these assertion macros.
Created two gypi files for the platform directory. One for the
headers and one for the source. The source one is only included
when building the VM library and will be present in libdart.a
when the dart executable is linked.
All the code for asserts is still in the dart namespace.
Also re-arranged the order of includes to be alphabetically in
the files touched.
R=ager@google.com , iposva@google.com
BUG=
TEST=
Review URL: http://codereview.chromium.org//9189003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@3335 260f80e4-7a28-3924-810f-c04153c831b5
2012-01-16 12:28:10 +00:00
srdjan@google.com
d07087ce77
Ongoing renaming of type classes:
...
TypeArguments -> AbstractTypeArguments
TypeArray -> TypeArguments
Review URL: http://codereview.chromium.org//8776020
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2002 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-01 23:19:59 +00:00
asiva@google.com
b245c234f0
Report NullPointerException when we try to construct a regular expression
...
using a NULL pointer.
Report NullPointerException instead of ObjectNotClosureException when the
closure object is Null.
Review URL: http://codereview.chromium.org//8363034
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@901 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-28 17:32:29 +00:00
ngeoffray@google.com
8b8b4844fa
Add default arguments for regexp flags.
...
Review URL: https://chromereviews.googleplex.com/3558016
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@213 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-07 12:47:56 +00:00
dgrove@google.com
4c0f559d23
Initial checkin.
...
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-05 05:20:07 +00:00