rmacnak@google.com
7322f1f37b
Rename DeoptimizeAll to DeoptimizeFunctionsOnStack.
...
To avoid confusion with operations related to live modification that really do touch all functions.
BUG=
R=srdjan@google.com
Review URL: https://codereview.chromium.org//861393004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43303 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-29 17:45:54 +00:00
koda@google.com
08edbbd6b4
MemorySanitizer support.
...
Enables building (including generating snapshot) and running simple scripts under MemorySanitizer.
Not all tests pass yet.
R=asiva@google.com
Review URL: https://codereview.chromium.org//816123002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42561 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-23 01:07:58 +00:00
fschneider@google.com
876193b31a
Make CTX allocatable by the register allocator.
...
This change makes CTX available by not caching the current
context while in Dart code. Instead the current context
is held in a local variable (:saved_current_context_var) and
is passed as argument in CTX at calls.
This also simplifies a lot of code in the debugger: As a result,
Isolate::top_context is not needed anymore since the current context
can always be extracted from a Dart frame.
R=vegorov@google.com
Review URL: https://codereview.chromium.org//678763004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41422 260f80e4-7a28-3924-810f-c04153c831b5
2014-10-30 15:42:38 +00:00
iposva@google.com
f2a6f1b4b6
Another round of cleanups for http://www.dartbug.com/15922
...
- Address warnings about 64-bit to 32-bit conversions.
R=ajohnsen@google.com , asiva@google.com
Review URL: https://codereview.chromium.org//169893003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@32831 260f80e4-7a28-3924-810f-c04153c831b5
2014-02-19 23:35:55 +00:00
asiva@google.com
a576fec3c0
Allow the native resolver to setup whether it needs the Dart API scope to
...
be setup automatically or not when a native function is invoked.
This would allow the embedder to treat some native functions as leaf
functions whose invocation can be very light.
R=hausner@google.com , zra@google.com
Review URL: https://codereview.chromium.org//117723002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31286 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-19 17:47:56 +00:00
srdjan@google.com
951ff158eb
Add back native tracing to optimized code. Tracing natives is an important part of perfromance analysis and should therefore be available in optiumized VM as well. No performance implications are expected.
...
R=asiva@google.com
Review URL: https://codereview.chromium.org//27226002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@28614 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-14 21:47:39 +00:00
asiva@google.com
8912fdd1f8
Rename NativeReceiver to NativeArg0 as this method is used not necessarily
...
to access the receiver in dartium. It is used to access the first argument.
Review URL: https://codereview.chromium.org//25136002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@28032 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-27 23:50:13 +00:00
asiva@google.com
bbbe821434
- Add special access for receiver as it is a frequently used operation
...
- Merge closure/instance function bitfields into one bitfield to simplify
access to arguments.
R=regis@google.com
Review URL: https://codereview.chromium.org//25062003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@28028 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-27 22:22:23 +00:00
asiva@google.com
d6aaf0cc94
1. Add flag --trace-api to trace API function invocation
...
2. Add tracing of external native functions under --trace-natives flag
3. Added a _printCurrentStacktrace() function so that one could get a
dart stack trace under 'gdb' when in a native or runtime function.
R=regis@google.com
Review URL: https://codereview.chromium.org//23453035
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27166 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-04 23:42:13 +00:00
fschneider@google.com
cfab482b84
Follow-up fix to my change to IsPowerOfTwo: Alignment of one means no alignment, not zero.
...
We assert that the alignment is a power of two. Therefore, platforms that do not need
alignment should return alignment of one instead of zero.
R=kmillikin@google.com
Review URL: https://codereview.chromium.org//23745008
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27037 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-03 10:56:43 +00:00
asiva@google.com
ed73754c3f
Rearrange some methods so that they get inlined.
...
R=srdjan@google.com
Review URL: https://codereview.chromium.org//22307003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25843 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-06 22:58:53 +00:00
asiva@google.com
b4d9e0d620
Auto create ApiLocalScope before calling native functions, this ensures that
...
native functions do not have to call Dart_EnterScope/Dart_ExitScope
when they callback into the VM.
Remove Dart_EnterScope/Dart_ExitScope calls around native functions in 'bin'
directory.
R=regis@google.com , srdjan@google.com
Review URL: https://codereview.chromium.org//22303002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25827 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-06 19:27:48 +00:00
asiva@google.com
2c5c1fb855
- Add following additional methods to the API to make returning values
...
from Dartium easier:
Dart_SetBooleanReturnValue
Dart_SetIntegerReturnValue
Dart_SetDoubleReturnValue
- Use Isolate value stored in NativeArguments instead of calling
Isolate::Current
R=srdjan@google.com
Review URL: https://codereview.chromium.org//21319002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25676 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-31 18:05:05 +00:00
regis@google.com
a879bba2ff
Second codegen test passing on ARM (simulated).
...
This required support on ARM for:
- compilation of static calls
- patching of static calls
- stub to call into runtime
- redirection support for calls from simulator to host runtime
- stack frame iteration
Review URL: https://codereview.chromium.org//12381034
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19405 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-04 18:08:38 +00:00
regis@google.com
cd746c8172
Initial revision of ARM simulator and (empty) MIPS simulator.
...
Review URL: https://codereview.chromium.org//12041056
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@17623 260f80e4-7a28-3924-810f-c04153c831b5
2013-01-25 01:16:35 +00:00
kmillikin@google.com
275c8d928f
Introduce a class encapsulating arguments descriptor arrays.
...
BUG=
Review URL: https://codereview.chromium.org//11442010
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15727 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-05 12:05:57 +00:00
asiva@google.com
67e8d8e460
Fix build failure on linux.
...
Review URL: https://codereview.chromium.org//11366257
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@14939 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-15 01:51:50 +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
regis@google.com
d372a816bb
Pass closure object as first implicit argument to closure functions.
...
Remove code passing captured receiver to native instance closures; instead,
access captured receiver in context, as non-native functions do.
Review URL: https://codereview.chromium.org//11360116
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@14698 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-08 18:28:07 +00:00
turnidge@google.com
4e7971f61e
The forward declaration of Dart_SetReturnValue in native_arguments.h
...
was causing the function to appear to be ambiguous on windows due to
the DART_EXTERN_C annotation. Refactor the code so that a different
function is forward-declared in order to fix the build.
Another fix would have been to prefix all calls to Dart_SetReturnValue
by :: in lib/mirrors.cc, but that looks ugly.
Review URL: https://chromiumcodereview.appspot.com//10919039
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11719 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-31 20:12:21 +00:00
turnidge@google.com
55c13e1994
Use SetReturnUnsafe in dart_api_impl.cc.
...
Before (median of 5):
UseDartApi(RunTime): 384366
After (median of 5);
UseDartApi(RunTime): 313525
Review URL: https://chromiumcodereview.appspot.com//10907012
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11717 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-31 19:59:37 +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
asiva@google.com
f05e3736d8
Fix issue 1968, replace usage of inline 'asm' constructs in 'stack alignment', 'jump to exception handler' and 'jump to error handler' code with calls to appropriate stubs.
...
Review URL: https://chromiumcodereview.appspot.com//10664004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9071 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-25 17:35:20 +00:00
turnidge@google.com
ff26341fd6
Heartbeat implementation of dart:mirrors.
...
Add the skeleton for the dart:mirrors library in all the appropriate
places. The only thing we can do right now is ask an Isolate for its
debugName. Add a few tests.
Review URL: https://chromiumcodereview.appspot.com//9420038
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@5370 260f80e4-7a28-3924-810f-c04153c831b5
2012-03-12 23:51:03 +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
asiva@google.com
5cf3ad018a
Changes to pass the current isolate to all runtime and native calls.
...
Review URL: http://codereview.chromium.org//8528010
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1499 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-12 05:55:22 +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