mstarzinger
322cfb3589
[turbofan] Add JSStackCheck into loop bodies.
...
This allows loopy TurboFan code to be interrupted by placing a stack
check (i.e. JSStackCheck node) into each loop. Note that we currently
limit this to non-asm.js code. Also note that stack checks are actually
placed after loop headers and not at back-branches, which allows us to
reuse existing BailoutIds from Crankshaft.
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/1065923002
Cr-Commit-Position: refs/heads/master@{#27666}
2015-04-08 12:55:02 +00:00
mstarzinger
f3338dd3b0
Prevent overzealous bailout due to script context.
...
This is a follow-up to 2d281e71ac
and prevents bailouts on empty
script contexts in Crankshaft, which don't need allocation. Only
non-empty script contexts should cause a bailout.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/1063373003
Cr-Commit-Position: refs/heads/master@{#27649}
2015-04-08 09:00:45 +00:00
mstarzinger
2d281e71ac
Make --always-opt also optimize top-level code.
...
This enables eager optimization of top-level code with TurboFan and
extends test coverage by triggering it with the --always-opt flag.
Script contexts are now also properly allocated in TurboFan.
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/1053063003
Cr-Commit-Position: refs/heads/master@{#27633}
2015-04-07 15:44:23 +00:00
yangguo
8e723e9892
Debugger: remove debug command API.
...
Instead, please use v8::Isolate::RequestInterrupt to synchronize
to the main thread.
R=yurys@chromium.org
API=Removed v8::Debug::DebugBreakForCommand
LOG=Y
Review URL: https://codereview.chromium.org/1036863002
Cr-Commit-Position: refs/heads/master@{#27625}
2015-04-07 12:21:42 +00:00
hpayer
59be4ba7f4
Reland "Merge old data and pointer space."
...
This reverts commit cbfcee5575
.
BUG=
Review URL: https://codereview.chromium.org/1051233002
Cr-Commit-Position: refs/heads/master@{#27623}
2015-04-07 11:32:10 +00:00
kozyatinskiy
9f6b1333a1
[V8] Don't ignore sourceURL comment in inline scripts in .stack
...
In DevTools we've already used sourceURL in inline scripts.
This CL makes the behavior of the V8 in the same for Error.stack property and v8::StackTrace.
BUG=v8:3920
LOG=Y
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/1044173002
Cr-Commit-Position: refs/heads/master@{#27554}
2015-03-31 19:36:06 +00:00
yangguo
019096f829
Serializer: move to a subfolder and clean up includes.
...
R=jochen@chromium.org
Review URL: https://codereview.chromium.org/1041743002
Cr-Commit-Position: refs/heads/master@{#27501}
2015-03-27 15:29:07 +00:00
hpayer
c293448f3e
Simplified garbage collection idle handler.
...
The current GC idle time handling heuristics are getting too complicated. Moreover, with longer idle time we are getting more full garbage collections. This CL shrinks the idle round window and reduces complexity in the case where we cause a full garbage collection.
BUG=chromium:468554
LOG=n
Review URL: https://codereview.chromium.org/1024043003
Cr-Commit-Position: refs/heads/master@{#27493}
2015-03-27 08:00:51 +00:00
dcarney
2455aadf7b
two pass phantom collection
...
R=jochen@chromium.org , erikcorry@chromium.org
BUG=
Review URL: https://codereview.chromium.org/998253006
Cr-Commit-Position: refs/heads/master@{#27475}
2015-03-26 11:50:28 +00:00
machenbach
f0d555b26d
Revert of add access checks to receivers on function callbacks (patchset #5 id:80001 of https://codereview.chromium.org/1036743004/ )
...
Reason for revert:
This seems to lead to lots of timeouts of layout tests, e.g.:
http://build.chromium.org/p/client.v8/builders/V8-Blink%20Linux%2064/builds/2807
Original issue's description:
> add access checks to receivers on function callbacks
>
> R=verwaest@chromium.org
> BUG=468451
> LOG=N
>
> Committed: https://crrev.com/255528710b0a128eef7b66827d9ac43e44650ff4
> Cr-Commit-Position: refs/heads/master@{#27452}
TBR=verwaest@chromium.org ,dcarney@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=468451
Review URL: https://codereview.chromium.org/1023783009
Cr-Commit-Position: refs/heads/master@{#27457}
2015-03-25 18:31:51 +00:00
dcarney
255528710b
add access checks to receivers on function callbacks
...
R=verwaest@chromium.org
BUG=468451
LOG=N
Review URL: https://codereview.chromium.org/1036743004
Cr-Commit-Position: refs/heads/master@{#27452}
2015-03-25 16:16:56 +00:00
dslomov
1f6c46879b
Test for access checks on super assignments.
...
R=verwaest@chromium.org
BUG=chromium:470113
LOG=N
Review URL: https://codereview.chromium.org/1034523002
Cr-Commit-Position: refs/heads/master@{#27438}
2015-03-25 12:52:11 +00:00
titzer
006ae96dab
Set test expectations prior to enabling --turbo-osr.
...
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/1018513003
Cr-Commit-Position: refs/heads/master@{#27425}
2015-03-24 19:02:55 +00:00
dcarney
adeb82ef23
fix disposal of phantom handles in GlobalValueMap
...
additionally, add a drive by fix to WeakCallbackInfo
R=jochen@chromium.org , erikcorry@chromium.org
BUG=
Review URL: https://codereview.chromium.org/1026283004
Cr-Commit-Position: refs/heads/master@{#27407}
2015-03-24 13:22:15 +00:00
jochen
d19d0be8a0
Remove calls to IdleNotification()
...
All users should use IdleNotificationDeadline() instead
BUG=none
R=hpayer@chromium.org
LOG=y
Review URL: https://codereview.chromium.org/1028163003
Cr-Commit-Position: refs/heads/master@{#27386}
2015-03-24 08:30:02 +00:00
hpayer
cbfcee5575
Revert "Merge old data and pointer space."
...
TBR=verwaest@chromium.org ,ulan@chromium.org,ishell@chromium.org
NOTRY=true
Review URL: https://codereview.chromium.org/1027463002
Cr-Commit-Position: refs/heads/master@{#27323}
2015-03-19 22:03:32 +00:00
hpayer
257ff48931
Merge old data and pointer space.
...
BUG=
Review URL: https://codereview.chromium.org/1012023002
Cr-Commit-Position: refs/heads/master@{#27259}
2015-03-18 09:39:03 +00:00
dcarney
85a0e8075f
convert String::New functions to maybe
...
R=svenpanne@chromium.org
BUG=v8:3929
LOG=n
Review URL: https://codereview.chromium.org/1010803008
Cr-Commit-Position: refs/heads/master@{#27236}
2015-03-17 11:45:50 +00:00
dcarney
60c1ad026d
remove phantom naming from the api
...
since the old style weakness is slated for removal, we might as well reuse the name to limit confusion. additionally I simplified the callback type to a enum to either get internal field values or not
this should be a non-breaking change with the exception of PhantomPersistentValueMap, which is unused.
R=jochen@chromium.org , erikcorry@chromium.org
BUG=
Review URL: https://codereview.chromium.org/989153003
Cr-Commit-Position: refs/heads/master@{#27084}
2015-03-09 21:48:09 +00:00
dcarney
d7f25f557c
use a hash table for the function cache as blink is leaking functiontemplates
...
BUG=
Review URL: https://codereview.chromium.org/988283003
Cr-Commit-Position: refs/heads/master@{#27066}
2015-03-09 12:26:28 +00:00
ulan
1b00451f57
Retain maps embedded in optimized code for several garbage collections.
...
This keeps dying maps alive for FLAG_retain_maps_for_n_gc garbage collections
to increase chances of them being reused for new objects in future and
decrease number of deoptimizations.
BUG=v8:3664
LOG=N
TEST=cctest/test-heap/MapRetaining
Review URL: https://codereview.chromium.org/980523004
Cr-Commit-Position: refs/heads/master@{#27040}
2015-03-06 12:36:32 +00:00
kozyatinskiy
54196b17c8
[V8] Use Function.name for stack frames in v8::StackTrace
...
If function.name property has string type then stack frame will contain it otherwise DebugName from shared function info.
BUG=17356
LOG=Y
R=yurys@chromium.org
Review URL: https://codereview.chromium.org/917743002
Cr-Commit-Position: refs/heads/master@{#27025}
2015-03-05 18:31:49 +00:00
dcarney
00c52d424a
reland rename UniquePersistent to Global
...
BUG=
Review URL: https://codereview.chromium.org/980173003
Cr-Commit-Position: refs/heads/master@{#27018}
2015-03-05 13:26:35 +00:00
yurys
e33ae81ce1
Allow passing sourceMapUrl when compiling scripts
...
According to Source Map specification [1] source map url can be passed either as a magic comment at the end of script or as SourceMap http header. We already parse the former value and expose it on Script object. This change allows to unify the way we deal with source map urls received in http header by providing api for passing that url into the script being compiled.
source_map_url is intentionally not passed into CompilationCacheScript::Lookup. The cache is anyways disabled when debugger is on.
[1] https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit
LOG=Y
BUG=chromium:462572
Review URL: https://codereview.chromium.org/983603003
Cr-Commit-Position: refs/heads/master@{#27017}
2015-03-05 13:03:57 +00:00
machenbach
8465f39792
Revert of rename UniquePersistent to Global (patchset #2 id:20001 of https://codereview.chromium.org/980173003/ )
...
Reason for revert:
breaks arm compile
Original issue's description:
> rename UniquePersistent to Global
>
> BUG=
>
> Committed: https://crrev.com/3f5ae16c62b031ad572f750d81ffc71c5d6d1f9b
> Cr-Commit-Position: refs/heads/master@{#27011}
TBR=svenpanne@chromium.org ,dcarney@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=
Review URL: https://codereview.chromium.org/983653002
Cr-Commit-Position: refs/heads/master@{#27012}
2015-03-05 12:10:32 +00:00
dcarney
3f5ae16c62
rename UniquePersistent to Global
...
BUG=
Review URL: https://codereview.chromium.org/980173003
Cr-Commit-Position: refs/heads/master@{#27011}
2015-03-05 11:40:43 +00:00
Dan Carney
1fcedda668
convert object::* to return maybe values
...
BUG=v8:3929
LOG=y
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/971693002
Cr-Commit-Position: refs/heads/master@{#26940}
2015-03-02 13:13:31 +00:00
Sven Panne
602d0dab93
Removed funky Maybe constructor and made fields private.
...
BUG=v8:3929
LOG=y
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/958053003
Cr-Commit-Position: refs/heads/master@{#26937}
2015-03-02 12:22:37 +00:00
verwaest
b5fc4b808c
Remove internal use of v8::AccessType, always pass v8::ACCESS_HAS instead.
...
BUG=
Review URL: https://codereview.chromium.org/942963004
Cr-Commit-Position: refs/heads/master@{#26874}
2015-02-26 10:34:50 +00:00
ben
726eb0582b
Add v8::Object::GetRealNamedPropertyAttributes()
...
Add v8::Object::GetRealNamedPropertyAttributes() and
v8::Object::GetRealNamedPropertyAttributesInPrototypeChain().
See https://github.com/iojs/io.js/issues/864 for background.
Review URL: https://codereview.chromium.org/942003003
Cr-Commit-Position: refs/heads/master@{#26855}
2015-02-25 15:09:20 +00:00
ishell
34b5565eb6
Fix for cctest/test-api/SetJitCodeEventHandler: generate less objects during execution to avoid unwanted GCs.
...
BUG=v8:3899
LOG=N
Review URL: https://codereview.chromium.org/934243003
Cr-Commit-Position: refs/heads/master@{#26721}
2015-02-18 14:02:58 +00:00
verwaest
7138634d5a
Move LookupResult into crankshaft as that's now the only place where it's still used
...
Additionally handlify the "transition" field so that GC can stop caring about it.
BUG=
Review URL: https://codereview.chromium.org/935033003
Cr-Commit-Position: refs/heads/master@{#26718}
2015-02-18 13:21:43 +00:00
yangguo
12e1b959d2
Fix NewStringRangeError failure due to failing malloc.
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/912333002
Cr-Commit-Position: refs/heads/master@{#26575}
2015-02-11 12:06:29 +00:00
yangguo
8aae1b3096
Throw on range error when creating a string via API.
...
R=jkummerow@chromium.org
BUG=v8:3853
LOG=Y
Review URL: https://codereview.chromium.org/867373003
Cr-Commit-Position: refs/heads/master@{#26574}
2015-02-11 10:21:25 +00:00
dcarney
79417664b2
remove undetectable strings
...
BUG=
Review URL: https://codereview.chromium.org/916753002
Cr-Commit-Position: refs/heads/master@{#26571}
2015-02-11 09:28:12 +00:00
arv
68e4897586
Remove Function.prototype.toMethod
...
Function.prototype.toMethod was removed from ES6.
This removes the function and updates the tests to either
use %ToMethod or a dedicated syntax (using concise method
or a class).
BUG=v8:3330
LOG=N
R=dslomov@chromium.org , adamk
Review URL: https://codereview.chromium.org/914713002
Cr-Commit-Position: refs/heads/master@{#26559}
2015-02-10 22:13:43 +00:00
yangguo
7f4d207c8b
Add hash fields to code cache header.
...
R=jochen@chromium.org
BUG=chromium:441896
LOG=N
Review URL: https://codereview.chromium.org/909473002
Cr-Commit-Position: refs/heads/master@{#26490}
2015-02-06 15:20:52 +00:00
Dan Carney
878963a8a5
split interceptor tests off of test-api
...
BUG=
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/900033003
Cr-Commit-Position: refs/heads/master@{#26484}
2015-02-06 12:08:07 +00:00
yurys
a559367956
Add NativeWeakMap to v8.h
...
A new map wich references its keys weakly is added to v8.h. Internally it uses the same storage as JSWeakMap but doesn't depend on the JavaScript part of WeakMap implementation in weak-collection.js, hence it can be instantiated without entering any context.
BUG=chromium:437416
LOG=Y
Review URL: https://codereview.chromium.org/900123003
Cr-Commit-Position: refs/heads/master@{#26451}
2015-02-05 09:40:27 +00:00
yurys
1f7e3b3483
Revert of Add WeakKeyMap to v8.h (patchset #2 id:20001 of https://codereview.chromium.org/891473005/ )
...
Reason for revert:
Revert this patch due to shared win build compilation failure
http://build.chromium.org/p/client.v8/builders/V8%20Win32%20-%20nosnap%20-%20shared/builds/5030/steps/compile/logs/stdio
Original issue's description:
> Add WeakKeyMap to v8.h
>
> A new map wich references its keys weakly is added to v8.h. Internally it uses the same storage as JSWeakMap but doesn't depend on the JavaScript part of WeakMap implementation in weak-collection.js, hence it can be instantiated without entering any context.
>
> BUG=chromium:437416
> LOG=Y
>
> Committed: https://crrev.com/ee7ed39ac8327124e74dd7ad5f1de0dede988cb7
> Cr-Commit-Position: refs/heads/master@{#26425}
TBR=jochen@chromium.org ,mstarzinger@chromium.org,rossberg@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:437416
Review URL: https://codereview.chromium.org/901663002
Cr-Commit-Position: refs/heads/master@{#26430}
2015-02-04 15:12:52 +00:00
dcarney
8064582626
Move the contents of api-natives.js to c++
...
R=verwaest@chromium.org
BUG=
Review URL: https://codereview.chromium.org/895053002
Cr-Commit-Position: refs/heads/master@{#26426}
2015-02-04 13:01:44 +00:00
yurys
ee7ed39ac8
Add WeakKeyMap to v8.h
...
A new map wich references its keys weakly is added to v8.h. Internally it uses the same storage as JSWeakMap but doesn't depend on the JavaScript part of WeakMap implementation in weak-collection.js, hence it can be instantiated without entering any context.
BUG=chromium:437416
LOG=Y
Review URL: https://codereview.chromium.org/891473005
Cr-Commit-Position: refs/heads/master@{#26425}
2015-02-04 12:53:05 +00:00
caitpotter88
600474ad44
Fix test-api/ObjectProtoToStringES6
...
Fixes tree closure caused by r26415
BUG=v8:3502
R=arv@chromium.org
LOG=N
Review URL: https://codereview.chromium.org/869773005
Cr-Commit-Position: refs/heads/master@{#26416}
2015-02-03 22:18:21 +00:00
caitpotter88
b5c43674f9
Update harmony ObjectProtoToString() to 2/2/2015 spec
...
Applies to API implementation of O.p.toString
- Removes special handling of non-string @@toStringTag values (use builtinTag)
- Removes special handling of @@toStringTags which match [[Class]] names (remove ~ prefix)
- Add tests for non-string @@toStringTag values in test-api.cc
BUG=v8:3502
R=arv@chromium.org
LOG=N
Review URL: https://codereview.chromium.org/892393003
Cr-Commit-Position: refs/heads/master@{#26415}
2015-02-03 21:05:25 +00:00
yurys
aeec653f49
Revert of Add WeakMap to v8.h (patchset #3 id:40001 of https://codereview.chromium.org/886473005/ )
...
Reason for revert:
Broke compilation on component build http://build.chromium.org/p/client.v8/builders/V8%20Win32%20-%20nosnap%20-%20shared/builds/5007/steps/compile/logs/stdio
Original issue's description:
> Add WeakMap to v8.h
>
> A new map wich references its keys weakly is added to v8.h. Internally it uses the same storage as JSWeakMap but doesn't depend on the JavaScript part of WeakMap implementation in weak-collection.js, hence it can be instantiated without entering any context.
>
> BUG=chromium:437416
> LOG=Y
>
> Committed: https://crrev.com/37d4c57630636f21e3add8d3d1c7c978ff5fc8e0
> Cr-Commit-Position: refs/heads/master@{#26401}
TBR=jochen@chromium.org ,mstarzinger@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:437416
Review URL: https://codereview.chromium.org/898763002
Cr-Commit-Position: refs/heads/master@{#26402}
2015-02-03 14:42:49 +00:00
yurys
37d4c57630
Add WeakMap to v8.h
...
A new map wich references its keys weakly is added to v8.h. Internally it uses the same storage as JSWeakMap but doesn't depend on the JavaScript part of WeakMap implementation in weak-collection.js, hence it can be instantiated without entering any context.
BUG=chromium:437416
LOG=Y
Review URL: https://codereview.chromium.org/886473005
Cr-Commit-Position: refs/heads/master@{#26401}
2015-02-03 14:28:20 +00:00
dcarney
70bba702e0
follow up named interceptor miss with api callback getter
...
BUG=
Review URL: https://codereview.chromium.org/885763004
Cr-Commit-Position: refs/heads/master@{#26395}
2015-02-03 10:56:27 +00:00
kozyatinskiy
4e9e1eedf1
[V8] Added line, column and script symbols for SyntaxError
...
For exception in promise we generate v8::Message API object from exception object. And in cases of Syntax or Reference Error we don't have enough information in exception object - we can't restore Error location from top stack frame.
In this patch three aditional private fields introduced for exception object. In case of Syntax Error we store line, column and script on Exception object and receive this information when restoring message.
BUG=443140
LOG=Y
R=yurys@chromium.org
Review URL: https://codereview.chromium.org/885043002
Cr-Commit-Position: refs/heads/master@{#26393}
2015-02-03 08:57:36 +00:00
bmeurer
c65ae4f10c
Reland "Initial switch to Chromium-style CHECK_* and DCHECK_* macros.".
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/877753007
Cr-Commit-Position: refs/heads/master@{#26346}
2015-01-30 09:29:41 +00:00
Benedikt Meurer
883852293a
Revert "Make GCC happy again." and "Initial switch to Chromium-style CHECK_* and DCHECK_* macros.".
...
This reverts commit 6a4c0a3bae
and commit
0deaa4b629
for breaking GCC bots.
TBR=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/893533003
Cr-Commit-Position: refs/heads/master@{#26342}
2015-01-30 07:19:57 +00:00
bmeurer
0deaa4b629
Initial switch to Chromium-style CHECK_* and DCHECK_* macros.
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/888613002
Cr-Commit-Position: refs/heads/master@{#26340}
2015-01-30 06:25:36 +00:00
kozyatinskiy
eaae397c42
[V8] Added Script::is_debugger_script flag for embedders
...
In DevTools we need one more flag for script origin - is debugger script. We already have "is shared origin" flag. The new flag added by analogy with the old but new has accessor in script object.
R=yurys@chromium.org
Review URL: https://codereview.chromium.org/879553002
Cr-Commit-Position: refs/heads/master@{#26324}
2015-01-29 14:01:33 +00:00
yangguo
22421bbe9f
Rescale histogram timers.
...
R=vogelheim@chromium.org
Review URL: https://codereview.chromium.org/875873002
Cr-Commit-Position: refs/heads/master@{#26295}
2015-01-27 14:08:27 +00:00
marja
c421f3de54
Script streaming: Test that streaming <-> harmony scopes interaction is correct.
...
BUG=
Review URL: https://codereview.chromium.org/871893002
Cr-Commit-Position: refs/heads/master@{#26250}
2015-01-23 14:41:18 +00:00
mstarzinger
ace7b8f20f
Make TestSetJitCodeEventHandler more resilient.
...
R=ishell@chromium.org
TEST=cctest/test-api/SetJitCodeEventHandler
Review URL: https://codereview.chromium.org/874493002
Cr-Commit-Position: refs/heads/master@{#26249}
2015-01-23 12:12:27 +00:00
hpayer
a18fdd61dc
Always adjust amount of external memory when change is reported.
...
BUG=
Review URL: https://codereview.chromium.org/866413002
Cr-Commit-Position: refs/heads/master@{#26247}
2015-01-23 11:37:49 +00:00
erikcorry
8c58ed1a0c
Support old and new weak handle API
...
R=dcarney@chromium.org
BUG=
Review URL: https://codereview.chromium.org/863443005
Cr-Commit-Position: refs/heads/master@{#26246}
2015-01-23 11:28:54 +00:00
bmeurer
4b31a97da3
Remove deprecated v8::base::OS::nan_value().
...
Use std::numeric_limits<double>::quiet_NaN() and
std::numeric_limits<float>::quiet_NaN() instead.
Review URL: https://codereview.chromium.org/864803002
Cr-Commit-Position: refs/heads/master@{#26195}
2015-01-21 14:38:58 +00:00
dcarney
8521caba24
add some tests for HandleApiCall builtin
...
BUG=
Review URL: https://codereview.chromium.org/861053003
Cr-Commit-Position: refs/heads/master@{#26190}
2015-01-21 13:43:02 +00:00
verwaest
ac2b1cea97
Add a pretty printer to improve the error message non-function calls
...
BUG=259443
LOG=y
Review URL: https://codereview.chromium.org/861623002
Cr-Commit-Position: refs/heads/master@{#26189}
2015-01-21 13:40:41 +00:00
verwaest
e99faf93ff
Remove ForceDelete
...
This method circumvented JS semantics, and should not be used.
BUG=
Review URL: https://codereview.chromium.org/854493004
Cr-Commit-Position: refs/heads/master@{#26157}
2015-01-20 13:41:31 +00:00
dcarney
3eb589976a
fix debug checks for api callbacks returning symbols
...
BUG=
Review URL: https://codereview.chromium.org/854363003
Cr-Commit-Position: refs/heads/master@{#26156}
2015-01-20 13:28:01 +00:00
marja
af8a0c0d82
Script streaming: don't produce (empty) cached data when debugger forces eagerness.
...
See CompileTopLevel for similar logic which suppresses producing parser cache
when the debugger is active.
BUG=441130
LOG=n
Review URL: https://codereview.chromium.org/845643005
Cr-Commit-Position: refs/heads/master@{#26138}
2015-01-19 14:29:12 +00:00
dcarney
6950ead0b0
split api call stubs into accessor and function call stubs
...
BUG=
Review URL: https://codereview.chromium.org/836093007
Cr-Commit-Position: refs/heads/master@{#26097}
2015-01-16 10:59:16 +00:00
jochen
c65799e7c5
Remove support for signatures with arguments
...
Support for it is slow and difficult to implement, and it's not used in
Blink. An embedder that uses this feature will have to check the
argument types itself.
BUG=none
R=dcarney@chromium.org
LOG=y
Review URL: https://codereview.chromium.org/848173002
Cr-Commit-Position: refs/heads/master@{#26058}
2015-01-14 14:44:10 +00:00
erikcorry
7db1759b65
Unify phantom and internal fields weak handle callbacks
...
R=dcarney@chromium.org
BUG=
Review URL: https://codereview.chromium.org/842153004
Cr-Commit-Position: refs/heads/master@{#26022}
2015-01-12 12:12:10 +00:00
sergeyv
cedc11ba59
Fix sourceURL & sourceMapURL handling in case of background parsing
...
BUG=
Review URL: https://codereview.chromium.org/821723002
Cr-Commit-Position: refs/heads/master@{#25980}
2015-01-07 15:56:18 +00:00
ulan
64e1b56107
Revert "Retain maps for several garbage collections"
...
This reverts commit 2bc756e4b3
because of performance regression in kraken.
BUG=chromium:444232
LOG=N
TBR=hpayer@chromium.org
Review URL: https://codereview.chromium.org/816353002
Cr-Commit-Position: refs/heads/master@{#25918}
2014-12-22 09:15:07 +00:00
alph
87e4bba31e
Support multiple interrupt requests in v8 API.
...
There might be a number of clients that would like to
setup an interrupt request on the Isolate.
The patch also deprecates ClearInterrupt API. As long as
the interrupt handler is called outside of locks there's no way
to guarantee that the handler will not be called after
ClearInterrupt was invoked as it might have already started execution.
Review URL: https://codereview.chromium.org/796623003
Cr-Commit-Position: refs/heads/master@{#25910}
2014-12-20 07:54:19 +00:00
erikcorry
3ff951943f
Phantom references support internal fields
...
BUG=
Review URL: https://codereview.chromium.org/753553002
Cr-Commit-Position: refs/heads/master@{#25889}
2014-12-18 16:10:15 +00:00
ulan
2bc756e4b3
Retain maps for several garbage collections
...
This keeps dying maps alive for FLAG_retain_maps_for_n_gc garbage collections to increase chances of them being reused for new objects in future.
BUG=v8:3664
LOG=N
TEST=cctest/test-heap/MapRetaining
Review URL: https://codereview.chromium.org/794583003
Cr-Commit-Position: refs/heads/master@{#25887}
2014-12-18 15:44:37 +00:00
Michael Stanton
22302b5179
Hydrogen code stubs for vector-based ICs.
...
This patch finally allows running and passing tests with vector-based
Load and KeyedLoad ICs.
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/767743002
Cr-Commit-Position: refs/heads/master@{#25800}
2014-12-12 13:56:35 +00:00
Adam Klein
986e7cefe1
Ensure class prototype objects have the right Map::constructor field
...
The null constructor they had previously could be observed as crashes in
the V8 API's Object::CreationContext() method and in Object.observe.
BUG=v8:3750
LOG=n
R=arv@chromium.org , dslomov@chromium.org
Review URL: https://codereview.chromium.org/787763005
Cr-Commit-Position: refs/heads/master@{#25757}
2014-12-10 18:25:55 +00:00
chunyang.dai
e980c7e41b
update test case for "Disable neutering on embedded arraybuffers"
...
This test case ( added by git: 4c7effe56e
).
should has different implementation for Turbofan and crankshaft.
BUG=
Review URL: https://codereview.chromium.org/774163005
Cr-Commit-Position: refs/heads/master@{#25713}
2014-12-08 15:14:56 +00:00
marja
6680fd1591
Handle invalid parser cache gracefully (move invalid cache handling to embedder).
...
Blink already has code for handling invalid cached data. The attached test
ensures that cached data is gracefully rejected if it cannot be used.
This also unifies parser cache and code cache handling.
R=yangguo@chromium.org
BUG=439889
LOG=N
Review URL: https://codereview.chromium.org/781203003
Cr-Commit-Position: refs/heads/master@{#25708}
2014-12-08 11:47:50 +00:00
jochen
97c1f4b15c
Turn on DCHECKs and other debugging code if dcheck_always_on is 1
...
When compiling with the macro DCHECK_ALWAYS_ON defined, DCHECKs and
supporting code gets compiled and enabled.
This increases test coverage for chromium release buildbots
BUG=v8:3731
R=jkummerow@chromium.org
LOG=y
Review URL: https://codereview.chromium.org/760213005
Cr-Commit-Position: refs/heads/master@{#25701}
2014-12-08 09:26:16 +00:00
arv
c8c7395644
Optimize GetPrototype
...
This introduces Hydrogen for %_GetPrototype. The code falls back on
runtime if the object needs access checks or if its prototype is a
hidden prototype.
BUG=None
LOG=Y
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/756423006
Cr-Commit-Position: refs/heads/master@{#25694}
2014-12-05 20:36:50 +00:00
dcarney
5ce364d817
new api for adding indexed interceptors
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/765883003
Cr-Commit-Position: refs/heads/master@{#25688}
2014-12-05 15:21:27 +00:00
verwaest
7fb5f74d20
Allow eval in detached contexts
...
BUG=
Review URL: https://codereview.chromium.org/781953002
Cr-Commit-Position: refs/heads/master@{#25686}
2014-12-05 13:25:10 +00:00
dcarney
4c7effe56e
[turbofan] disable neutering on embedded arraybuffers
...
R=titzer@chromium.org ,
BUG=
Review URL: https://codereview.chromium.org/781933002
Cr-Commit-Position: refs/heads/master@{#25685}
2014-12-05 13:08:03 +00:00
dslomov
71d166ee70
Restore correct logic in GC test.
...
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/767453004
Cr-Commit-Position: refs/heads/master@{#25608}
2014-12-02 11:34:38 +00:00
jochen
49859dc3bb
After moving unreachable weak global handles only process harmony collections
...
Groups and implicit references are no longer relevant at this point.
Also add tests that fail if the first or second round of ephemeral
marking is omitted
BUG=none
R=mstarzinger@chromium.org ,hpayer@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/761343004
Cr-Commit-Position: refs/heads/master@{#25606}
2014-12-02 11:24:00 +00:00
yurys
f434123a16
Add GetIdentityHash to v8::Name object API
...
v8::Object already has GetIdentityHash on it. This change adds its counterpart to v8::Name.
BUG=chromium:437416
LOG=Y
Review URL: https://codereview.chromium.org/753373003
Cr-Commit-Position: refs/heads/master@{#25598}
2014-12-02 09:13:30 +00:00
dslomov
9e02e98771
Introduce a kill-switch for shipping features.
...
R=rossberg@chromium.org
TBR=hpayer@chromium.org
Committed: d628562086
Review URL: https://codereview.chromium.org/763273002
Cr-Commit-Position: refs/heads/master@{#25577}
2014-11-28 20:07:18 +00:00
dcarney
50ef0690b2
Add interceptor support for symbols
...
a revival of https://codereview.chromium.org/467013003
R=rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/760883002
Cr-Commit-Position: refs/heads/master@{#25537}
2014-11-27 10:21:39 +00:00
dcarney
b1667fca63
don't use to-be-deprecated Value::To* without isolate parameter
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/725293003
Cr-Commit-Position: refs/heads/master@{#25473}
2014-11-24 10:30:55 +00:00
yangguo
cfccf397d0
v8::String::Concat must not throw.
...
R=dcarney@chromium.org
BUG=chromium:420240
LOG=Y
API=v8::String::Concat may return empty handle on overflow.
Review URL: https://codereview.chromium.org/735763002
Cr-Commit-Position: refs/heads/master@{#25402}
2014-11-18 15:51:16 +00:00
yangguo
7e2ebd4c00
Reland "Soft fail for invalid cache data."
...
Review URL: https://codereview.chromium.org/733023003
Cr-Commit-Position: refs/heads/master@{#25378}
2014-11-17 12:16:40 +00:00
Daniel Vogelheim
f83f10973e
Revert "Soft fail for invalid cache data."
...
This reverts commit eafce666f4
.
Original commit failed some tests w/ memory leaks.
TBR=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/724053004
Cr-Commit-Position: refs/heads/master@{#25336}
2014-11-13 16:47:05 +00:00
Yang Guo
eafce666f4
Soft fail for invalid cache data.
...
API=ScriptCompiler::CachedData::rejected
LOG=Y
R=vogelheim@google.com , vogelheim@chromium.org
Review URL: https://codereview.chromium.org/724023002
Cr-Commit-Position: refs/heads/master@{#25335}
2014-11-13 15:42:47 +00:00
aandrey@chromium.org
dc416ef328
Rename v8::Exception::GetMessage to CreateMessage.
...
This is to avoid renaming to GetMessageW/GetMessageA on Windows.
API=v8::Exception::CreateMessage
R=yangguo@chromium.org , loislo
LOG=Y
Review URL: https://codereview.chromium.org/711353002
Cr-Commit-Position: refs/heads/master@{#25273}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25273 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-11 21:45:30 +00:00
ishell@chromium.org
18cf6c9ac9
MapCache simplification. It is now a FixedArray that maps number of properties to a WeakCell with a Map.
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/712943002
Cr-Commit-Position: refs/heads/master@{#25253}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25253 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-10 18:04:17 +00:00
aandrey@chromium.org
cb0694e765
Allow uncaught exception messaging in Object.observe callbacks.
...
This also naturally handles pausing on uncaught exceptions in Object.observe callbacks.
R=adamk@chromium.org , yangguo@chromium.org , yurys@chromium.org
BUG=chromium:335660
LOG=Y
Review URL: https://codereview.chromium.org/692313003
Cr-Commit-Position: refs/heads/master@{#25126}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25126 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-05 07:23:59 +00:00
aandrey@chromium.org
a17b087a7d
Follow up to fix v8::Exception::GetMessage() actually do what it was intended to.
...
The main thing for v8::Exception::GetMessage() is to extract message location from
error stack trace, even when stack trace capturing is off (when DevTools is closed).
BUG=chromium:427954
R=yangguo@chromium.org
LOG=N
Review URL: https://codereview.chromium.org/696703002
Cr-Commit-Position: refs/heads/master@{#25101}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25101 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-04 10:07:11 +00:00
jkummerow@chromium.org
e525e76f21
Fix a few nits found by PVS Studio
...
BUG=v8:3192
LOG=n
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/185563004
Cr-Commit-Position: refs/heads/master@{#25086}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25086 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-03 19:45:25 +00:00
erikcorry@chromium.org
3d62e24c5f
Introduce phantom weak handles in the API and use them internally for debug info
...
R=ulan@chromium.org , jochen@chromium.org
BUG=
Review URL: https://codereview.chromium.org/687003005
Cr-Commit-Position: refs/heads/master@{#25083}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25083 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-03 17:24:22 +00:00
aandrey@chromium.org
aeb7ba5259
Introduce v8::Exception::GetMessage to find location of an error object.
...
API=v8::Exception::GetMessage
BUG=chromium:427954
R=yangguo@chromium.org
LOG=Y
Committed: https://code.google.com/p/v8/source/detail?r=25015
Review URL: https://codereview.chromium.org/687253002
Cr-Commit-Position: refs/heads/master@{#25021}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25021 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-30 14:51:46 +00:00
machenbach@chromium.org
7c27d234f3
Reverting r25015 and r25016 for broken build.
...
TBR=yangguo@chromium.org , machenbach@chromium.org
LOG=N
Review URL: https://codereview.chromium.org/688813002
Cr-Commit-Position: refs/heads/master@{#25017}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25017 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-30 13:57:47 +00:00
aandrey@chromium.org
ad4515fd1f
Introduce v8::Exception::GetMessage to find location of an error object.
...
API=v8::Exception::GetMessage
BUG=chromium:427954
R=yangguo@chromium.org
LOG=Y
Review URL: https://codereview.chromium.org/687253002
Cr-Commit-Position: refs/heads/master@{#25015}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25015 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-30 13:18:16 +00:00
dcarney@chromium.org
d24cd63fff
allow disabling of ArrayBuffer neutering
...
BUG=
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/684103002
Cr-Commit-Position: refs/heads/master@{#24973}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24973 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-29 10:37:12 +00:00
aandrey@chromium.org
3e7c0d772c
Get stack trace for uncaught exceptions/promise rejections from the simple stack when available.
...
We can convert simple stack trace of an Error object to the detailed stack that
is used for debugging. Do so when available, and only then fall back to
reporting stack trace at throw site.
R=yangguo@chromium.org , Yang
LOG=Y
Review URL: https://codereview.chromium.org/674423002
Cr-Commit-Position: refs/heads/master@{#24938}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24938 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-28 13:25:14 +00:00
erikcorry@chromium.org
716648065a
Revert 'Introduce phantom weak handles in the API and use them internally for debug info'
...
Revert of https://codereview.chromium.org/649563006/ due to layout test
failures.
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/677403002
Cr-Commit-Position: refs/heads/master@{#24901}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24901 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-27 12:03:39 +00:00
erikcorry@chromium.org
891e289d0f
Introduce phantom weak handles in the API and use them internally for debug info
...
R=jochen@chromium.org , ulan@chromium.org
BUG=
Review URL: https://codereview.chromium.org/649563006
Cr-Commit-Position: refs/heads/master@{#24899}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24899 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-27 11:05:11 +00:00
dslomov@chromium.org
37bd114925
Update ObjectToString to Harmony-draft algorithm
...
Updates Object.prototype.toString() to use algorithm described in harmony drafts.
Currently, the behaviour is essentially the same as ES262's version, however this changes when internal structures
such as Promise make use of symbolToStringTag (as they are supposed to, see v8:3241), and changes further once
Symbol.toStringTag is exposed publicly.
BUG=v8:3241, v8:3502
LOG=N
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/546803003
Patch from Caitlin Potter <caitpotter88@gmail.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24783 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-21 17:21:32 +00:00
marja@chromium.org
394af55a8c
Script streaming: more UTF-8 handing fixes (again).
...
1) Since we fill the output buffer both from the chunks and the conversion
buffer, it's possible that we run out of space and call CopyCharsHelper with 0
length. The underlying functions don't handle it gracefully, so check there.
2) There was a bug where we used to try to copy too many characters from the
beginning of the data chunk into the conversion buffer. Continuation bytes in
UTF-8 are of the form 0b10XXXXXX. If a byte is bigger than that, it's the first
byte of a new UTF-8 character and we should ignore it.
These two together (or maybe in combination with surrogates) are a probable
reason for crbug.com/420932.
3) The test data was off; \uc481 is \xec\x92\x81.
BUG=420932
LOG=N
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/662003003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24725 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-20 09:23:43 +00:00
haraken@chromium.org
f3bfd04bcf
Pass an Isolate to v8::VisitHandlesWithClassIds
...
The Isolate version of v8::VisitHandlesWithClassIds is needed
for https://codereview.chromium.org/651713002/
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/664473002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24671 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-17 00:46:18 +00:00
aandrey@chromium.org
b96b570628
Introduce v8::Exception::GetStackTrace API method.
...
This will be needed to get a stack trace from a DOMException.
API=v8::Exception::GetStackTrace
R=yangguo@chromium.org
LOG=Y
Review URL: https://codereview.chromium.org/655243002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24655 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-16 10:42:08 +00:00
ulan@chromium.org
ac1f429689
Remove test-api/Regress2107 since it doesn't test what Chrome does.
...
BUG=v8:3625
LOG=N
R=jochen@chromium.org
Review URL: https://codereview.chromium.org/657033003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24617 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-15 08:44:00 +00:00
hpayer@chromium.org
2c18a51c72
Increase final idle time in idle notifcation of test test-api/Regress2107.
...
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/653863002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24579 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-14 08:10:41 +00:00
marja@chromium.org
363ac55a5d
Script streaming: UTF-8 handling fix.
...
The problem was that there can be several multi-byte UTF-8 characters near the
splitting point of the data chunks, and the code didn't handle it properly.
This was also the source of crbug.com/417891 - I thought the crash can only
happen when V8 is passed invalid UTF-8 data, but it can also happen in the
abovementioned case. After the fix, we handle the valid UTF-8 case and also
guard against invalid UTF-8 data.
R=yangguo@chromium.org
BUG=chromium:417891
LOG=N
Review URL: https://codereview.chromium.org/654503002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24547 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-13 09:01:54 +00:00
dslomov@chromium.org
c9049c0325
Keyed loads from super with numeric keys.
...
R=ishell@chromium.org , arv@chromium.org
BUG=v8:3330
LOG=N
Review URL: https://codereview.chromium.org/638193004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24522 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-10 10:40:29 +00:00
jochen@chromium.org
d78fab455a
Fix data race in cctest/test-api/RegExpInterruption
...
BUG=v8:3615
R=yangguo@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/634523003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24451 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-08 07:41:28 +00:00
yangguo@chromium.org
ec871585fc
Add stack trace to the promise reject callback.
...
R=aandrey@chromium.org
BUG=chromium:393913
LOG=N
Review URL: https://codereview.chromium.org/630373003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24432 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-07 12:03:55 +00:00
yangguo@chromium.org
321dad9b8e
Introduce v8::Object::GetIsolate().
...
API=v8::Object::GetIsolate()
LOG=Y
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/617263003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24376 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-02 06:52:39 +00:00
yangguo@chromium.org
e68e62c891
Introduce PromiseRejectCallback.
...
R=aandrey@chromium.org , yurys@chromium.org , rossberg@chromium.org
API=v8::Isolate::SetPromiseRejectCallback, v8::Promise::HasHandler
LOG=Y
BUG=v8:3093
Review URL: https://codereview.chromium.org/600723005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24335 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-30 15:29:08 +00:00
alph@chromium.org
24d1ef4868
Initial implementation of GetStackSample sampling profiler API.
...
The patch is based on https://codereview.chromium.org/578163002/#ps20001
made by gholap@chromium.org
LOG=N
BUG=v8:3490
R=bmeurer@chromium.org , yurys@chromium.org
Review URL: https://codereview.chromium.org/596533002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24285 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-29 12:59:54 +00:00
aandrey@chromium.org
4b072d16f2
Add IsGeneratorFunction and IsGeneratorObject checks to v8::Value.
...
R=ulan@chromium.org , yangguo@chromium.org , wingo, yangguo
Review URL: https://codereview.chromium.org/608503002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24278 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-29 10:22:56 +00:00
dslomov@chromium.org
6312804eb3
Access checks test for stores to 'super'.
...
R=dcarney@chromium.org
BUG=v8:3330
LOG=N
Review URL: https://codereview.chromium.org/609273002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24273 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-29 08:47:04 +00:00
marja@chromium.org
cc2c6e6339
Script streaming: fix split UTF-8 character handling.
...
Invalid UTF-8 data can contain too many characters which look like they're part
of a multi-byte character, and that was overflowing a buffer.
BUG=chromium:417891
LOG=n
.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/607043002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24251 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-26 11:17:31 +00:00
loislo@chromium.org
b9583b5f98
String::NewExternal should not crash the renderer.
...
The blink may pass a very long string to v8
for making a handle to it. v8 has max string length
limit and creates exception. But NewExternal code does not
check that the handle is null and crashes the renderer.
With the fix the js code receives the exception.
BUG=414615
LOG=N
R=yangguo@chromium.org , yurys@chromium.org
Review URL: https://codereview.chromium.org/603393004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24250 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-26 11:14:09 +00:00
dslomov@chromium.org
e36aacdee2
Implement loads and calls from 'super'
...
R=verwaest@chromium.org , arv@chromium.org
BUG=v8:3330
LOG=N
Review URL: https://codereview.chromium.org/527963002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24078 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-19 11:08:04 +00:00
jochen@chromium.org
6a14d7d50f
Reland 24052 - Require V8 to be explicitly initialized before an Isolate is created
...
> We also initialize the Isolate on creation.
>
> This should allow for getting rid of the last remaining default isolate
> traces. Also, it'll speed up several isolate related operations that no
> longer require locks.
>
> Embedders that relied on v8::Isolate to return an uninitialized Isolate
> (so they can set ResourceConstraints for example, or set flags that
> modify the way the isolate is created) should either do the setup before
> creating the isolate, or use the recently added CreateParams to pass e.g.
> ResourceConstraints.
>
> BUG=none
> LOG=y
> R=svenpanne@chromium.org
>
> Review URL: https://codereview.chromium.org/469783002
BUG=none
LOG=y
TBR=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/583153002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24067 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-19 08:01:35 +00:00
jochen@chromium.org
525ed1130e
Revert "Require V8 to be explicitly initialized before an Isolate is created"
...
LOG=n
TBR=svenpanne@chromium.org
BUG=none
Review URL: https://codereview.chromium.org/582953002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24055 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-18 21:57:10 +00:00
jochen@chromium.org
27f3cc1b9c
Require V8 to be explicitly initialized before an Isolate is created
...
We also initialize the Isolate on creation.
This should allow for getting rid of the last remaining default isolate
traces. Also, it'll speed up several isolate related operations that no
longer require locks.
Embedders that relied on v8::Isolate to return an uninitialized Isolate
(so they can set ResourceConstraints for example, or set flags that
modify the way the isolate is created) should either do the setup before
creating the isolate, or use the recently added CreateParams to pass e.g.
ResourceConstraints.
BUG=none
LOG=y
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/469783002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24052 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-18 21:07:50 +00:00
verwaest@chromium.org
c5a3850b8f
Revert "filter cross context eval"
...
(Reverts https://codereview.chromium.org/294073002/ )
BUG=chromium:415051
LOG=y
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/582093002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24049 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-18 17:25:25 +00:00
hpayer@chromium.org
c54b0bc717
Use the regular start incremental marking strategy in the idle notification.
...
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/568023002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23976 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-16 12:48:59 +00:00
jochen@chromium.org
069a9c75ad
Move configuration of ResourceConstraints to Isolate construction
...
We can only set resource constraints before the isolate is initialized.
Since in the future, we want to initialize isolates at construction
time, we need to set constraints there.
It's possible to later modify the stack limit, so introduce an
Isolate::SetStackLimit method for that.
The SetResourceConstraints method will be deprecated. Users should pass
ResourceConstraints to Isolate::New, and use Isolate::SetStackLimit to
later modify the stack limit.
BUG=none
R=svenpanne@chromium.org
LOG=y
Review URL: https://codereview.chromium.org/559993005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23964 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-16 09:15:02 +00:00
jochen@chromium.org
65a1857824
Currently, a new isolate is created in an uninitialized state, and
...
several API methods will automatically initialize it. During this
uninitialized state, code event handlers and function entry handlers can
be attached to the isolate.
This CL deprecates SetFunctionEntryHook and moves the configuration of
those handlers to the Isolate factory method.
This will allow for initializing the Isolate at creation time in the
future.
Users of V8::SetFunctionEntryHook should pass the entry hook to
Isolate::New instead. V8::SetJitCodeEventHandler should either be passed
to Isolate::New as well, or (if startup events are not required) invoked
via the Isolate.
BUG=none
LOG=y
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/570993002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23940 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-15 11:17:00 +00:00
marja@chromium.org
eb19fc013a
Add script streaming API.
...
Blink will use this API to stream script data into V8 as the scripts
load. During loading, V8 can already parse the scripts. They will be then
compiled and executed when the loading is complete.
This is a reincarnation of https://codereview.chromium.org/366153002/
with fixes.
BUG=
R=jochen@chromium.org , rossberg@chromium.org , svenpanne@chromium.org , yangguo@chromium.org
Review URL: https://codereview.chromium.org/566553002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23904 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-12 09:12:08 +00:00
yangguo@chromium.org
9dcf34033b
Expect access check in JSObject::DefineAccessor.
...
R=ulan@chromium.org , verwaest@chromium.org
BUG=chromium:411793
LOG=N
Review URL: https://codereview.chromium.org/559403002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23874 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-11 12:16:33 +00:00
marja@chromium.org
90af365ae3
Revert "Add script streaming API."
...
This reverts r23865
Revert "Fix compilation after r23865."
This reverts r23867
Reason: the test contains characters too special for Windows's taste.
TBR=ulan@chromium.org
BUG=
Review URL: https://codereview.chromium.org/545203003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23868 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-11 11:29:28 +00:00
marja@chromium.org
61c9683d71
Add script streaming API.
...
Blink will use this API to stream script data into V8 as the scripts
load. During loading, V8 can already parse the scripts. They will be then
compiled and executed when the loading is complete.
BUG=
R=jochen@chromium.org , rossberg@chromium.org , svenpanne@chromium.org , yangguo@chromium.org
Review URL: https://codereview.chromium.org/366153002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23865 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-11 11:06:26 +00:00
yangguo@chromium.org
a311c26d4d
Expect requiring access check on objects with hidden properties.
...
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/563723002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23860 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-11 09:48:56 +00:00
yangguo@chromium.org
4e670fd05e
Rename ascii to one-byte where applicable.
...
R=dcarney@chromium.org , marja@chromium.org
Review URL: https://codereview.chromium.org/559913002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23840 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-10 12:38:12 +00:00
yangguo@chromium.org
d3af5b67d2
Fix JSReceiver::HasHiddenProperties wrt access-checked objects.
...
R=jkummerow@chromium.org
BUG=chromium:411877
LOG=N
Review URL: https://codereview.chromium.org/564443002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23839 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-10 12:31:13 +00:00
verwaest@chromium.org
3ef094402e
Flatten property_kind into state. Add UNKNOWN as a state for dict-mode receivers
...
BUG=
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/540903002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23692 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-04 12:28:13 +00:00
verwaest@chromium.org
5941bb4e73
Never skip access checks in the lookup iterator
...
BUG=
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/536943002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23661 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-03 14:05:55 +00:00
svenpanne@chromium.org
dfda8950de
More PNaCL fixes (without GYP/Makefile tweaks)
...
This is basically https://codereview.chromium.org/513923005/ with a
few changes:
* Makefile.nacl and v8.gyp are untouched.
* MAP_NORESERVE-handling is more defensive.
* Added ugly busy-wait emulation of sem_timedwait.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/521473003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23513 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-29 09:39:28 +00:00
mstarzinger@chromium.org
88a842d628
Fix and re-enable test-api/InitializeAndDispose.
...
R=svenpanne@chromium.org
TEST=cctest/test-api/InitializeAndDispose
Review URL: https://codereview.chromium.org/504093002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23401 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 13:07:18 +00:00
bmeurer@chromium.org
90c8932596
Replace our homegrown ARRAY_SIZE() with Chrome's arraysize().
...
Our own ARRAY_SIZE() was pretty bad at error checking. If you use
arrasize() in a wrong way, the compiler will issue an error instead of
silently doing the wrong thing. The previous ARRAY_SIZE() macro is still
available as ARRAYSIZE_UNSAFE() similar to Chrome.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/501323002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23389 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 09:19:24 +00:00
verwaest@chromium.org
01cfeb1205
Clean up LookupIterator::Configuration naming
...
BUG=
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/503663003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23349 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-25 11:34:43 +00:00
aandrey@chromium.org
6190ac0882
Expose Value::IsMap, IsSet, IsWeakMap, IsWeakSet in V8 API.
...
These checks will be needed for DevTools.
R=yangguo@chromium.org , svenpanne@chromium.org
Review URL: https://codereview.chromium.org/464413002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23338 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-25 08:56:31 +00:00
wingo@igalia.com
558a05bfcf
Fix symbol-named function template properties in the API
...
Thanks to Yutaka Hirano <yhirano@chromium.org> for finding the bug and
providing the test case.
R=rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/496663002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23269 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-21 11:55:46 +00:00
verwaest@chromium.org
2d2396a8a8
Get rid of all non-IC uses of LookupOwnRealNamedProperty
...
BUG=
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/491023002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23262 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-21 08:26:42 +00:00
wingo@igalia.com
e929f5fe43
Support symbol-named properties in API
...
Add new "Name" type to API that is a supertype of Symbol and String.
Object::SetDeclaredAccessor, Object::SetAccessorProperty, Template::Set,
Template::SetAccessorProperty, and Template::SetDeclaredAccessor now
take a Name as the property name instead of a String.
Add Object::SetAccessor, Template::SetNativeDataProperty, and
ObjectTemplate::SetAccessor overloads that can define accessors for
symbol-named properties.
R=dcarney@chromium.org , rossberg@chromium.org
BUG=v8:3394
TEST=cctest/test-api/TestSymbolProperties
LOG=Y
Review URL: https://codereview.chromium.org/459413002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23247 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-20 15:25:13 +00:00
verwaest@chromium.org
26d72d5024
Get rid of GetLazyValue and clients.
...
This breaks fetching name of the constructor property of "Object"-labeled values in the heap-snapshot-generator until that's handlified and can be moved over to the LookupIterator.
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/480823004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23226 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-20 10:37:23 +00:00
rossberg@chromium.org
8394975ec7
Expose well-known Symbols to C++ API.
...
BUG=341423
LOG=Y
R=arv@chromium.org , dcarney@chromium.org , rossberg@chromium.org
Review URL: https://codereview.chromium.org/483173002
Patch from Yutaka Hirano <yhirano@chromium.org>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23196 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-19 12:08:46 +00:00
aandrey@chromium.org
3a3d6bd4f6
Expose Value::IsArgumentsObject in V8 API.
...
R=yangguo@chromium.org , svenpanne@chromium.org , yangguo
Review URL: https://codereview.chromium.org/460333002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23105 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-13 13:06:30 +00:00
mstarzinger@chromium.org
44247036a7
Fix newly discovered presubmit errors.
...
R=jochen@chromium.org
Review URL: https://codereview.chromium.org/462033002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23081 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-12 13:33:35 +00:00
mstarzinger@chromium.org
159cc8ddf2
v8::TryCatch should cancel the scheduled exception on Reset.
...
v8::TryCatch cancels the scheduled exception on destruction if |Rethrow|
was never called.
It is reasonable to do the same in |Reset|.
BUG=362388, 359386
LOG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/443853002
Patch from Yutaka Hirano <yhirano@chromium.org>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22963 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-07 08:55:49 +00:00
adamk@chromium.org
bcf8b05072
Enable ES6 Map and Set by default
...
In doing so also remove all references to the --harmony-collections flag.
Due to the way context snapshotting works, it's not possible to simply
enable the flag by default.
Depends on ES6 Symbols: https://codereview.chromium.org/421313004
BUG=v8:1622
LOG=Y
R=arv@chromium.org , rossberg@chromium.org
Review URL: https://codereview.chromium.org/427723002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22889 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 19:37:32 +00:00
adamk@chromium.org
d8c30bd8e7
Enable ES6 Symbols by default
...
In doing so also remove all references to the --harmony-symbols flag.
Due to the way context snapshotting works, it's not possible to simply enable
the flag by default.
BUG=v8:2158
LOG=Y
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/421313004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22831 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-04 18:17:54 +00:00
bmeurer@chromium.org
d07a2eb806
Rename ASSERT* to DCHECK*.
...
This way we don't clash with the ASSERT* macros
defined by GoogleTest, and we are one step closer
to being able to replace our homegrown base/ with
base/ from Chrome.
R=jochen@chromium.org , svenpanne@chromium.org
Review URL: https://codereview.chromium.org/430503007
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22812 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-04 11:34:54 +00:00
jkummerow@chromium.org
49233c9972
Throw an exception when an access check fails and no external callback is installed
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/428733007
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22698 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-30 09:31:06 +00:00
dusan.milosavljevic@imgtec.com
e0401f3f71
MIPS64: Add support for architecture revision 6.
...
TEST=
BUG=
R=jkummerow@chromium.org , paul.lind@imgtec.com
Review URL: https://codereview.chromium.org/426863006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22681 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-29 18:02:26 +00:00
mstarzinger@chromium.org
947740a6d8
Revert "Make --always-opt also optimize toplevel code."
...
TBR=ishell@chromium.org
Review URL: https://codereview.chromium.org/429583002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22670 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-29 13:08:51 +00:00
mstarzinger@chromium.org
34f5edd500
Make --always-opt also optimize toplevel code.
...
R=jacob.bramley@arm.com , titzer@chromium.org , rossberg@chromium.org
Review URL: https://codereview.chromium.org/410153002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22666 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-29 11:41:42 +00:00
jochen@chromium.org
cb8105e223
Move gc notifications from V8 to Isolate and make idle hint mandatory
...
Embedders should use e.g. isolate->IdleNotification(1000) instead
of v8::V8::IdleNotification()
BUG=397026
R=hpayer@chromium.org , ernstm@chromium.org
LOG=y
Review URL: https://codereview.chromium.org/412163003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22584 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-24 08:28:02 +00:00
mstarzinger@chromium.org
9d2609fe98
Reland "Make v8::TryCatch able to consume natively thrown exceptions."
...
R=svenpanne@chromium.org
BUG=chromium:362388
TEST=cctest/test-api/TryCatchNative
LOG=N
Review URL: https://codereview.chromium.org/399473006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22481 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-18 13:28:12 +00:00
vogelheim@chromium.org
a42612b4a7
Change ScriptCompiler::CompileOptions to allow for two 'cache' modes
...
(parser or code) and to be explicit about cache consumption or production
(rather than making presence of cached_data imply one or the other.)
Also add a --cache flag to d8, to allow testing the functionality.
-----------------------------
API change
Reason: Currently, V8 supports a 'parser cache' for repeatedly executing the same script. We'd like to add a 2nd mode that would cache code, and would like to let the embedder decide which mode they chose (if any).
Note: Previously, the 'use cached data' property was implied by the presence of the cached data itself. (That is, kNoCompileOptions and source->cached_data != NULL.) That is no longer sufficient, since the presence of data is no longer sufficient to determine /which kind/ of data is present.
Changes from old behaviour:
- If you previously didn't use caching, nothing changes.
Example:
v8::CompileUnbound(isolate, source, kNoCompileOptions);
- If you previously used caching, it worked like this:
- 1st run:
v8::CompileUnbound(isolate, source, kProduceToCache);
Then, source->cached_data would contain the
data-to-be cached. This remains the same, except you
need to tell V8 which type of data you want.
v8::CompileUnbound(isolate, source, kProduceParserCache);
- 2nd run:
v8::CompileUnbound(isolate, source, kNoCompileOptions);
with source->cached_data set to the data you received in
the first run. This will now ignore the cached data, and
you need to explicitly tell V8 to use it:
v8::CompileUnbound(isolate, source, kConsumeParserCache);
-----------------------------
BUG=
R=marja@chromium.org , yangguo@chromium.org
Review URL: https://codereview.chromium.org/389573006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22431 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-16 12:18:33 +00:00
verwaest@chromium.org
6466ff39fb
Remove PropertyAttributes from SetProperty
...
BUG=
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/390833003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22383 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-14 14:52:24 +00:00
verwaest@chromium.org
1d55a634a9
Replace AddProperty by AddNamedProperty to speed up the common case
...
BUG=
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/384003003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22381 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-14 14:05:30 +00:00
yangguo@chromium.org
339bc81390
Refactor ScriptData class for cached compile data.
...
R=marja@chromium.org , vogelheim@chromium.org
Review URL: https://codereview.chromium.org/376223002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22314 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-10 10:28:05 +00:00
dusan.milosavljevic@rt-rk.com
a0f6878a06
Add mips64 port.
...
Summary:
- Changes in common code are mainly boilerplate changes,
gyp and test status files updates.
- On mips64 simulator all tests pass from all test units.
- Current issues: mjsunit JS debugger tests fail randomly on HW in release mode.
Corresponding tests are skipped on HW.
- Skipped tests on mips64: test-heap/ReleaseOverReservedPages, mjsunit/debug-*
TEST=
BUG=
R=danno@chromium.org , plind44@gmail.com , ulan@chromium.org
Review URL: https://codereview.chromium.org/371923006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22297 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-09 11:08:26 +00:00
verwaest@chromium.org
168523b542
Revert "Treat ExecutableAccessorInfo as regular data properties."
...
Temporarily revert since blink has some properties like this on the
prototype chain where it expects accessorpair-behavior (e.g.,
window.onload).
TBR=dslomov@chromium.org
BUG=
Review URL: https://codereview.chromium.org/378583002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22251 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-07 16:18:15 +00:00
verwaest@chromium.org
251ae22156
Treat ExecutableAccessorInfo as regular data properties.
...
BUG=
R=dcarney@chromium.org , mvstanton@chromium.org
Review URL: https://codereview.chromium.org/368783006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22236 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-07 11:00:44 +00:00
jochen@chromium.org
6d5d4b44b5
Remove a bunch of Isolate::UncheckedCurrent calls
...
The callbacks are per isolate, so we shouldn't get the isolate implicitly
from TLS. Also, we shouldn't allow calls to these methods prior to
initializing the respective isolate (and silently ignore them).
Esp. add a per-isolate API to set the stats counter callbacks and
make it possible to set the stats counter callback after the isolate
was touched.
Embedders should use e.g. isolate->SetCounterFunction(callback) instead
of v8::V8::SetCounterFunction(callback).
BUG=none
R=svenpanne@chromium.org
LOG=y
Review URL: https://codereview.chromium.org/365153002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22223 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-07 07:19:46 +00:00
dcarney@chromium.org
1859b04071
add GetOwnPropertyDescriptor to api
...
R=verwaest@chromium.org
BUG=
Review URL: https://codereview.chromium.org/364923006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22190 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-03 10:04:57 +00:00
verwaest@chromium.org
a1dd1a262c
Revert "Remove special ExecutableAccessorInfo handling based on flag"
...
Temporarily reverting until we figure out how to handle the API cases that use accessors to lazily compute values.
dataAttributeGetterCustom in V8MessageEventCustom (at least) overwrites itself with the computed value using ForceSet. We can either force such clients to first use ForceDelete before caching, use some other caching mechanism; or provide an API for lazily computed properties.
TBR=dcarney@chromium.org
BUG=
Review URL: https://codereview.chromium.org/365903005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22173 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-02 16:59:04 +00:00
verwaest@chromium.org
2350d46146
Remove special ExecutableAccessorInfo handling based on flag
...
This additionally removes special "prototype" handling for O.o, since it's broken; and added test.
BUG=
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/368853003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22171 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-02 15:28:29 +00:00
yangguo@chromium.org
a481d753d0
Stack traces exposed to Javascript should omit extensions.
...
R=marja@chromium.org
BUG=v8:311
LOG=Y
Review URL: https://codereview.chromium.org/363893003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22162 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-02 13:36:29 +00:00
marja@chromium.org
7717f2366f
Handle "//# sourceURL" comments in the Parser instead of the JS.
...
BUG=v8:2948
LOG=N
R=svenpanne@chromium.org , yurys@chromium.org
Review URL: https://codereview.chromium.org/316173002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22137 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-02 07:01:31 +00:00
jochen@chromium.org
a4506cd3f2
Move platform abstraction to base library
...
Also split v8-core independent methods from checks.h to base/logging.h and
merge v8checks with the rest of checks.
The CPU::FlushICache method is moved to CpuFeatures::FlushICache
RoundUp and related methods are moved to base/macros.h
Remove all layering violations from src/libplatform
BUG=none
R=jkummerow@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/358363002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22092 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-30 13:25:46 +00:00
verwaest@chromium.org
63431b23d1
Split SetProperty(...attributes, strictmode) into DefineProperty(...attributes) and SetProperty(...strictmode)
...
BUG=
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/351853005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22064 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-27 13:48:37 +00:00
yangguo@chromium.org
9e3ba659d9
Run JS micro tasks in the appropriate context.
...
R=jochen@chromium.org
BUG=385349
LOG=Y
Review URL: https://codereview.chromium.org/332923003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21933 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-23 11:47:20 +00:00
verwaest@chromium.org
bd5f13ebc3
Remove specialized access checks and overwrites altogether. They are already handled by GetOwnPropertyAttributes (and GetPropertyAttributesWithFailedAccessChecks)
...
BUG=
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/331693006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21922 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-23 09:11:45 +00:00
verwaest@chromium.org
d06afb3ce0
Remove AccessControl from AccessorPairs, as it's an invalid usecase of AllCan*
...
BUG=
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/332863003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21918 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-23 09:02:16 +00:00
verwaest@chromium.org
d611bd896b
Simplify access checks performed by GetOwnProperty
...
BUG=
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/339553002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21917 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-23 08:53:27 +00:00
hpayer@chromium.org
100b9d836f
An object should only be promoted to the old generation if it survived a scavenge operation.
...
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/345523002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21915 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-23 08:50:54 +00:00
mstarzinger@chromium.org
fec6e62dfb
Check alpha-sorting of includes during presubmit.
...
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/333013002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21894 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-20 08:40:11 +00:00
yurys@chromium.org
a862f7819b
Added Message::GetScripOrigin.
...
Replaced Message::GetResourceName with GetScriptOrigin().ResourceName().
Now, GetScriptOrigin().ResourceName() function returns the resource name or sourceURL (from //# sourceURL=) for the script from where the function causing the error originates.
Method GetScriptResourceName() deprecated. Use GetScriptOrigin()->ResourceName() instead.
Function used in Blink: https://codereview.chromium.org/260513004/
R=yangguo@chromium.org , yurys@chromium.org
Review URL: https://codereview.chromium.org/265593002
Patch from Alexey Kozyatinskiy <kozyatinskiy@google.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21893 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-20 07:44:05 +00:00
jochen@chromium.org
9c2019b25c
Remove dependency on Vector from platform files
...
Add wrappers to utils.h instead.
BUG=none
R=jkummerow@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/328343003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21846 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-13 16:43:27 +00:00
rossberg@chromium.org
d757f378d3
Add v8::Promise::Then.
...
Blink needs v8::Promise::Then to implement ScriptPromise::then.
Blink-side CL: https://codereview.chromium.org/316453002
BUG=371288
LOG=Y
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/314553002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21805 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-12 11:33:30 +00:00
dcarney@chromium.org
44b0e2110e
filter cross context eval
...
R=verwaest@chromium.org
BUG=
Review URL: https://codereview.chromium.org/294073002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21793 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-12 08:28:19 +00:00
yurys@chromium.org
6cb9002057
V8 can clear exception pending message, when should not do this.
...
The case:
v8::TryCatch try_catch;
CompileRun(try { CEvaluate('throw 1;'); } finally {});
CHECK(try_catch.HasCaught());
CHECK(!try_catch.Message().IsEmpty());
CEvaluate is native call. Last check is not passed without patch. Patch contains test TryCatchFinallyStoresMessageUsingTryCatchHandler with more details.
R=yangguo@chromium.org , mstarzinger@chromium.org , vsevik@chromium.org
Review URL: https://codereview.chromium.org/321763002
Patch from Alexey Kozyatinskiy <kozyatinskiy@google.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21755 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-11 05:48:33 +00:00
yurys@chromium.org
5586f1f309
Revert "V8 can clear exception pending message, when should not do this."
...
This reverts commit 2c6665a7a21bd38f3dea28eb9b303f913c69be8d. Broke too many tests.
TBR=yangguo@chromium.org
BUG=None
LOG=N
Review URL: https://codereview.chromium.org/318773006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21698 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-05 13:58:57 +00:00
yurys@chromium.org
6c57157587
V8 can clear exception pending message, when should not do this.
...
The case:
v8::TryCatch try_catch;
CompileRun(try { CEvaluate('throw 1;'); } finally {});
CHECK(try_catch.HasCaught());
CHECK(!try_catch.Message().IsEmpty());
CEvaluate is native call. Last check is not passed without patch. Patch contains test TryCatchFinallyStoresMessageUsingTryCatchHandler with more details.
R=mstarzinger@chromium.org , vsevik@chromium.org , yangguo@chromium.org
Review URL: https://codereview.chromium.org/306463002
Patch from Alexey Kozyatinskiy <kozyatinskiy@google.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21697 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-05 13:07:53 +00:00
marja@chromium.org
16be5bb377
Compilation API: next step of deprecations.
...
Remove deprecated functions and deprecated Script::GetId (which was supposed to
be deprecated, but Chrome was using it).
R=dcarney@chromium.org , svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/315003003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21695 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-05 13:02:18 +00:00
adamk@chromium.org
13d2f365cc
Add API support for passing a C++ function as a microtask callback
...
This allows embedders to enqueue microtasks without having any v8::Context
handy, as happens in Blink in some cases (such as DOM mutations due to editing
triggering MutationObservers).
LOG=Y
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/306053003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21658 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-03 20:12:19 +00:00
ishell@chromium.org
55443af648
Fixed lint errors caused by "runtime/references" rule (Is this a non-const reference?) and the rule itself is restored.
...
BUG=v8:3326
LOG=N
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/314723002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21651 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-03 15:45:38 +00:00
marja@chromium.org
350a3329ed
Add tests for FuncNameInferrer.
...
There were no explicit tests for FuncNameInferrer (though, some tests might
implicitly rely on it working properly in the common cases). Afaics, there were
no tests which would exercise inferring two byte function names or escaped
function names.
R=rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/310063002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21649 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-03 15:02:16 +00:00
jochen@chromium.org
56a486c322
Use full include paths everywhere
...
- this avoids using relative include paths which are forbidden by the style guide
- makes the code more readable since it's clear which header is meant
- allows for starting to use checkdeps
BUG=none
R=jkummerow@chromium.org , danno@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/304153016
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21625 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-03 08:12:43 +00:00
adamk@chromium.org
509a1a405c
ES6: Add support for values/keys/entries for Map and Set
...
This allows code like this:
var map = new Map();
map.set(1, 'One');
...
var iter = map.values();
var res;
while (!(res = iter.next()).done) {
print(res.value);
}
BUG=v8:1793
LOG=Y
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/259883002
Patch from Erik Arvidsson <arv@chromium.org>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21615 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-03 00:34:01 +00:00
adamk@chromium.org
20eeff9ae4
Allow microtasks to throw exceptions and handle them gracefully
...
If the embedder calls V8::TerminateExecution while we're running microtasks, bail out
and clear any pending microtasks.
All other exceptions are simply swallowed. No current Blink or V8 microtasks throw, this
just ensures something sane happens if another embedder decides to pass a throwing
microtask (or if ours unexpectedly throw due to, e.g., stack exhaustion).
BUG=371566
LOG=Y
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/294943009
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21574 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-28 18:40:04 +00:00
mvstanton@chromium.org
8c54a373dd
Changing the attributes of a data property implemented with
...
ExecutableAccessorInfo turns the property into a field. Better
to keep it as a callback, and correctly deal with the changed
property attributes.
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/262053011
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21558 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-28 09:58:27 +00:00
jochen@chromium.org
6e3ffe1ca1
Extract build configuration into a separate header and move it to the base lib
...
With this, change, atomicops, once, and lazy instance are no longer dependant
on v8 core. I'll move them in a follow-up change to the libbase as well.
BUG=none
R=jkummerow@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/303463005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21546 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-28 08:07:18 +00:00
jochen@chromium.org
84e078e561
Reland 21502 - "Move OS::MemCopy and OS::MemMove out of platform to utils"
...
Verified that arm builds locally.
BUG=none
TBR=jkummerow@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/306473004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21512 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-27 07:57:22 +00:00
jochen@chromium.org
eabd5a19b9
Revert 21502 - "Move OS::MemCopy and OS::MemMove out of platform to utils"
...
TBR=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/297303004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21504 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-26 19:56:27 +00:00
jochen@chromium.org
a5a21a0da4
Move OS::MemCopy and OS::MemMove out of platform to utils
...
Since both are jitted on some platforms and depend on codegen, they
don't belong to the platform abstraction. At the same time, I can't put
them to codegen.h, as this would introduce cyclic dependencies.
BUG=none
R=jkummerow@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/302563004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21502 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-26 19:33:15 +00:00
marja@chromium.org
2b7810c09c
Fix mem leaks in tests & ScriptCompiler::CompileUnbound.
...
- Leak in test-parsing/DontRegressPreParserDataSizes
- Leak in test-api/EventLogging
- Leak in ScriptCompiler::CompileUnbound which won't happen during normal
operation, but exposed by test-apöi/CompiledWithInvalidCachedData.
R=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/302603002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21488 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-26 11:04:32 +00:00
dslomov@chromium.org
45ab7d5266
Check for cached transition to ExternalArray elements kind.
...
R=ishell@chromium.org , verwaest@chromium.org
BUG=v8:3337
LOG=Y
Review URL: https://codereview.chromium.org/291193011
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21466 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-23 14:01:17 +00:00
mstarzinger@chromium.org
a2082b256d
Revert "Make v8::TryCatch able to consume natively thrown exceptions (again)."
...
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/296133013
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21461 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-23 11:12:25 +00:00
mstarzinger@chromium.org
473d3e1e71
Make v8::TryCatch able to consume natively thrown exceptions (again).
...
R=yangguo@chromium.org
BUG=chromium:362388
TEST=cctest/test-api/TryCatchNative
LOG=N
Review URL: https://codereview.chromium.org/291393002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21456 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-23 08:34:10 +00:00
rossberg@chromium.org
06f746a576
Consistently say 'own' property
...
R=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/291153005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21441 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-22 15:27:57 +00:00
mstarzinger@chromium.org
acec73631c
Revert "Make v8::TryCatch able to consume natively thrown exceptions"
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/293123003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21432 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-22 11:16:05 +00:00
jarin@chromium.org
3d0bf69cd8
Attempt no. 3 to fix Heap::IsHeapIterable and HeapIterator.
...
Now we remember new space's top pointer after the last GC to find out if there was a new space allocation since the last GC.
Unfortunately, this not completely safe - the debugger has a callback hook (that can call to JS) at the end of the GC epilogue that can in theory allocate and possibly make the heap non-iterable. We can only hope this does not happen.
BUG=373283
R=hpayer@chromium.org
LOG=N
Review URL: https://codereview.chromium.org/291193005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21431 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-22 11:13:37 +00:00
mstarzinger@chromium.org
38d30d781f
Make v8::TryCatch able to consume natively thrown exceptions.
...
R=yangguo@chromium.org , haraken@chromium.org
BUG=chromium:362388
TEST=cctest/test-api/TryCatchNative
LOG=N
Review URL: https://codereview.chromium.org/287133005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21427 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-22 08:46:01 +00:00
jarin@chromium.org
02f1a1b987
Revert "Fix Heap::IsHeapIterable." (again)
...
This reverts commit r21397.
TBR=hpayer@chromium.org
Review URL: https://codereview.chromium.org/299813002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21404 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-21 09:49:18 +00:00
marja@chromium.org
910050e6d9
Fix UnboundScript::GetScriptName and GetLineNumber.
...
Probably broken since r19925 (mine).
R=dcarney@chromium.org
BUG=
Review URL: https://codereview.chromium.org/296043004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21398 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-21 07:32:32 +00:00
jarin@chromium.org
58a130da6e
Reland "Fix Heap::IsHeapIterable."
...
This relands r21388 (+ handlification of an offending function).
BUG=373283
LOG=N
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/294903003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21397 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-21 06:44:38 +00:00
jarin@chromium.org
014bf8b407
Revert "Fix Heap::IsHeapIterable."
...
This reverts commit r21387.
TBR=hpayer@chromium.org
Review URL: https://codereview.chromium.org/291193002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21388 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-20 14:03:38 +00:00
jarin@chromium.org
dd4c82bbb3
Fix Heap::IsHeapIterable.
...
We only consider heap iterable if the new space is empty (in addition to the exisiting old space check).
The change also moves the iterability forcing + allocation prevention gadgets to HeapIterator so that it is impossible to miss them when iterating the heap.
R=hpayer@chromium.org
BUG=373283
LOG=N
Review URL: https://codereview.chromium.org/285693006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21387 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-20 13:19:21 +00:00
vegorov@chromium.org
38f2d25a84
Ensure that interruptor callback registered through API is called outside of ExecutionAccess lock.
...
Such a coarse locking can cause a dead-lock when another thread is attempting to clear an interrupt while we are waiting in the interrupt callback.
Add test that verifies this API invariant.
BUG=chromium:374978
LOG=N
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/291123002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21376 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-20 08:24:51 +00:00
adamk@chromium.org
35b8b0b27a
Move microtask queueing logic from JavaScript to C++
...
This avoids the appearence of a leak due to storing a JSObject
as the microtask_state in the strong root list, and allows callers
to call Isolate::RunMicrotasks() without having any v8::Context
available (as at least Blink has interest in doing).
The queue is now a strong root, represented as a FixedArray of JSFunctions
(or empty_fixed_array, if it's empty); it doubles in size when it needs to grow.
The number of elements in the queue is stored in Isolate::pending_microtask_count().
LOG=Y
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/290633010
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21356 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-19 07:57:04 +00:00
ishell@chromium.org
ff2d004f85
Presubmit checks recover:
...
1) runtime/references checks temporarily disabled (56 items left)
2) other errors fixed
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/277913002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21222 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-09 12:59:24 +00:00
svenpanne@chromium.org
9e1abe4d68
Reland "Removed default Isolate."
...
Changes compared to original CL: Until the Serializer/Isolate chaos is
cleaned up, we can't initalize/dispose cctests in a tidy way, see
cctest.cc.
BUG=359977
LOG=y
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/267383002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21205 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-09 08:40:18 +00:00
hpayer@chromium.org
de21c8a245
Simplify ConfigureHeap and change --max_new_space_size to --max_semi_space_size.
...
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/271843005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21204 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-09 08:38:27 +00:00
rossberg@chromium.org
ae0a36ee32
Re^3-land "Ship promises and weak collections"
...
R=jochen@chromium.org
BUG=
Review URL: https://codereview.chromium.org/266243003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21173 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-06 14:48:34 +00:00
svenpanne@chromium.org
e9e373e8c9
Revert "Removed default Isolate."
...
This reverts commit r21167, cctest/test-serialize has to be fixed first.
TBR=dcarney@chromium.org
Review URL: https://codereview.chromium.org/267163002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21170 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-06 13:06:12 +00:00
svenpanne@chromium.org
9b4bd33551
Removed default Isolate.
...
There is probably room for more cleanup after this...
BUG=359977
LOG=y
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/262163006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21167 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-06 11:48:26 +00:00
adamk@chromium.org
3274485c50
Store JSGlobalProxy's identity hash directly on the proxy itself
...
Previously, the hash was stored on the underlying global object, since
it was stored in the hidden property table. This patch moves to an
implementation modeled on JSProxy, adding a new 'hash' field to JSGlobalProxy.
This allows storing the global proxy in a Map, Set, WeakMap, or WeakSet and
accessing it even after the proxy has been attached to a new global, which
is Firefox's current behavior and was the consensus of a recent thread on public-script-coord:
http://lists.w3.org/Archives/Public/public-script-coord/2014AprJun/0012.html
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/254433002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21150 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-05 18:27:57 +00:00
hpayer@chromium.org
dde49c9dc3
Set max new space size in tests to proper MB value.
...
Revert "Limit old space size in test which require a large new space."
This reverts commit r21103.
Revert "Remove max space limits in tests."
This reverts commit r21104.
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/263103006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21149 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-05 16:48:33 +00:00
jochen@chromium.org
4dd8b11171
Introduce a microtask suppression scope and move microtask methods to isolate
...
BUG=369503
R=adamk@chromium.org
LOG=y
TEST=cctest/test-api/SetAutorunMicrotasks
Review URL: https://codereview.chromium.org/263933002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21128 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-02 19:30:54 +00:00
yangguo@chromium.org
ee0cd292d7
Tighten OpenHandle's extra checks.
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/240113010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21022 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-28 13:42:03 +00:00
jochen@chromium.org
c27da0c9b2
Remove static CallCompletedCallback handlers
...
BUG=none
R=svenpanne@chromium.org
LOG=y
Review URL: https://codereview.chromium.org/249313002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20985 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-25 13:49:22 +00:00
yangguo@chromium.org
cb2f43cb14
Always include debugger support.
...
Motivation: we do not have test coverage for debuggersupport=off.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/256653004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20969 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-25 11:00:37 +00:00
ishell@chromium.org
4591771820
StringTable::LookupKey() and all callers handlified.
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/249103002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20915 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-23 15:43:39 +00:00
ulan@chromium.org
6cae9d1ce8
Allow Object.defineProperty to update value of an API accessor.
...
This is needed for converting internal accessors to API accessors and can break blink tests.
BUG=
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/240573004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20910 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-23 13:05:38 +00:00
svenpanne@chromium.org
eeb1d7020e
Revert "Simplify v8/Isolate teardown."
...
This reverts commit r20876, it broke non-snapshot tests.
TBR=bmeurer@chromium.org
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20879 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-22 10:45:43 +00:00
svenpanne@chromium.org
618ff3a3f5
Simplify v8/Isolate teardown.
...
This implies that one better has a v8::V8::Initialize when v8::V8::Dispose is used.
BUG=359977
LOG=y
R=jochen@chromium.org
Review URL: https://codereview.chromium.org/238353015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20876 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-22 09:24:56 +00:00
hpayer@chromium.org
39b5090f8e
Grow old generation slower on low-memory devices.
...
BUG=
R=mstarzinger@chromium.org , rmcilroy@chromium.org
Review URL: https://codereview.chromium.org/236063015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20837 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-17 11:27:45 +00:00
yangguo@chromium.org
01fc2ab69b
Allow allocation and GC in access check callbacks.
...
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/234913003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20730 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-14 14:03:20 +00:00
hpayer@chromium.org
c1435b0832
Don't run tests that rely on compaction when compaction is turned off.
...
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/236203010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20728 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-14 13:52:41 +00:00
yangguo@chromium.org
7d987b3744
Allow GetScriptNameOrSourceURL to be called with exception pending.
...
R=jarin@chromium.org , ishell@chromium.org
Review URL: https://codereview.chromium.org/235943006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20705 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-14 08:27:00 +00:00
marja@chromium.org
d70f78827e
Fail the compilation if the cached data is invalid.
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/234953002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20703 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-14 07:35:46 +00:00
yangguo@chromium.org
80a974ba00
Reland "Handlify GetProperty."
...
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/235083002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20689 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-11 12:47:34 +00:00
yangguo@chromium.org
93c9717473
Revert "Handlify GetProperty."
...
This reverts r20682.
TBR=dcarney@chromium.org
Review URL: https://codereview.chromium.org/234893003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20685 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-11 11:56:54 +00:00
marja@chromium.org
069d783a91
Remove the PreCompile API and ScriptData.
...
The new compilation API (ScriptCompiler::Compile) can produce the same data, so
the separate precompilation phase is not needed. ScriptData is replaced by
ScriptCompiler::CachedData.
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/225753004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20683 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-11 11:44:49 +00:00
yangguo@chromium.org
a3d68ca64d
Handlify GetProperty.
...
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/233233004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20682 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-11 11:26:22 +00:00
ishell@chromium.org
32735ae3a9
Object::GetElements() and friends maybehandlification.
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/231103002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20644 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-10 09:20:11 +00:00
yangguo@chromium.org
ed9f1af2fc
Implement handlified String::Flatten.
...
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/228093004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20572 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-08 09:49:49 +00:00
yangguo@chromium.org
9ed8c39cac
Return MaybeHandle from SetElement and DeleteElement.
...
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/227573002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20560 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-08 07:04:13 +00:00
marja@chromium.org
3d1a17c2ac
Update tests to use the new compilation API + related fixes.
...
Esp. get rid of PreCompile in tests, as it's going to be removed.
Notes:
- The new compilation API doesn't have a separate precompilation phase, so there
is no separate way to check for errors except checking the compilation
errors. Removed some tests which don't make sense any more.
- test-api/Regress31661 didn't make sense as a regression test even before the
compilation API changes, because Blink doesn't precompile this short scripts. So
detecting this kind of errors (see crbug.com/31661 for more information) cannot rely
on precompilation errors.
- test-parsing/PreParserStrictOctal has nothing to do with PreParser, and the comment
about "forcing preparsing" was just wrong.
- test-api/PreCompile was supposed to test that "pre-compilation (aka
preparsing) can be called without initializing the whole VM"; that's no longer
true, since there's no separate precompilation step in the new compile
API. There are other tests (test-parsing/DontRegressPreParserDataSizes) which
ensure that we produce cached data.
- Updated tests which test preparsing to use PreParser directly (not via the
preparsing API).
- In the new compilation API, the user doesn't need to deal with ScriptData
ever. It's only used internally, and needed in tests that test internal aspects
(e.g., modify the cached data before passing it back).
- Some tests which used to test preparse + parse now test first time parse +
second time parse, and had to be modified to ensure we don't hit the
compilation cache.
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/225743002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20511 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-04 12:36:23 +00:00
yangguo@chromium.org
eedc4c01f5
Return MaybeHandle from NewExternalStringFrom*.
...
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/223653003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20481 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-03 12:41:37 +00:00
jochen@chromium.org
b7039334ae
Revert 20313 - "Ship promises and weak collections"
...
> R=mstarzinger@chromium.org
> BUG=
>
> Committed: https://code.google.com/p/v8/source/detail?r=20211
>
> Review URL: https://codereview.chromium.org/206163004
R=rossberg@chromium.org
TBR=rossberg@chromium.org
LOG=y
BUG=n
Review URL: https://codereview.chromium.org/219303002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20353 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-31 12:40:32 +00:00
dcarney@chromium.org
8b304a6832
Implement PersistentValueVector, analogous to PersistentValueMap.
...
BUG=
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/216973002
Patch from Daniel Vogelheim <vogelheim@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20341 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-31 10:03:20 +00:00
dslomov@chromium.org
bd353dc3a0
Inline internal getters for typed arrays & friends.
...
R=hpayer@chromium.org , yangguo@chromium.org
Committed: https://code.google.com/p/v8/source/detail?r=20330
Review URL: https://codereview.chromium.org/212603014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20338 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-28 15:25:24 +00:00
jochen@chromium.org
feeccf0d10
Revert r20335 - "Raise StackOverflow during bootstrapping"
...
Reason for revert: New test crashes on nosnap bots
> See https://github.com/joyent/node/issues/7120
>
> R=jarin@chromium.org
> BUG=
>
> Review URL: https://codereview.chromium.org/178073002
>
> Patch from Alexis Campailla <alexis@janeasystems.com>.
TBR=jarin@chromium.org
BUG=none
LOG=n
Review URL: https://codereview.chromium.org/217013002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20337 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-28 14:16:11 +00:00
jarin@chromium.org
ee173152ef
Raise StackOverflow during bootstrapping
...
See https://github.com/joyent/node/issues/7120
R=jarin@chromium.org
BUG=
Review URL: https://codereview.chromium.org/178073002
Patch from Alexis Campailla <alexis@janeasystems.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20335 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-28 13:26:20 +00:00
marja@chromium.org
6730ec8433
Amend PersistentValueMap:
...
- Use the surrounding map (instead of Traits::Impl) for weak callback.
- Provide for a fast reference to a mapped value.
- Restructure Traits to accomondate for the first point above.
[Why?] As discussed, I proceeded to replace Impl with the map.
The problem I encountered with that version is that now the
Traits class depends on itself: The weak-related methods require the
map type in their signature. But the map type includes the Traits class
and hence the Traits class method signatures depend on the specific Traits class. That
makes them practically un-derivable: While you can derive a Traits class
from another one, since the compiler now expects methods with a different
signature. To accommodate, I pulled the dispose traits into the weak traits
class. I also removed the Impl*/MapType* parameter from the Dispose call,
since no implementation seems to need it.
R=dcarney@chromium.org
BUG=
Review URL: https://codereview.chromium.org/212893007
Patch from Daniel Vogelheim <vogelheim@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20326 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-28 09:35:50 +00:00