- 09 Oct, 2015 1 commit
-
-
jochen authored
This will allow for probing access from any context to any receiver in a future CL. BUG=none R=jkummerow@chromium.org,verwaest@chromium.org LOG=n Review URL: https://codereview.chromium.org/1398093002 Cr-Commit-Position: refs/heads/master@{#31196}
-
- 07 Oct, 2015 1 commit
-
-
caitpotter88 authored
Allow access to Array Iterator through the API, in order to simplify setting up interfaces which use these methods. This applies to WebIDL interfaces with "length" attributes returning integer types and a getter taking an unsigned long type. BUG= LOG=N R=adamk@chromium.org Review URL: https://codereview.chromium.org/1378403004 Cr-Commit-Position: refs/heads/master@{#31152}
-
- 06 Oct, 2015 1 commit
-
-
caitpotter88 authored
Symbols marked as "well-known" now return an undefined value when loaded with a failed access check, instead of throwing. Currently, only @@isConcatSpreadable is marked as well-known, until the correct behaviour is properly specified. BUG=v8:4289, 507553 LOG=N R=adamk@chromium.org, jochen@chromium.org, verwaest@chromium.org Review URL: https://codereview.chromium.org/1230793002 Cr-Commit-Position: refs/heads/master@{#31131}
-
- 05 Oct, 2015 1 commit
-
-
julien.gilli authored
The --abort-on-uncaught-exception command line switch makes Isolate::Throw abort if the error being thrown cannot be caught by a try/catch block. Embedders may want to use other mechanisms than try/catch blocks to handle uncaught exceptions. For instance, Node.js has "domain" objects that have error handlers that can handle uncaught exception like following: var d = domain.create(); d.on('error', function onError(err) { console.log('Handling error'); }); d.run(function() { throw new Error("boom"); }); These error handlers are called by isolates' message listeners. If --abort-on-uncaught-exception is *not* used, the isolate's message listener will be called, which will in turn call the domain's error handler. The process will output 'Handling error' and will exit successfully (not due to an uncaught exception). This is the behavior that Node.js users expect. However, if --abort-on-uncaught-exception is used and when throwing an error within a domain that has an error handler, the process will abort and the domain's error handler will not be called. This is not the behavior that Node.js users expect. Having a SetAbortOnUncaughtExceptionCallback API allows embedders to determine when it's not appropriate to abort and instead handle the exception via the isolate's message listener. In the example above, Node.js would set a custom callback with SetAbortOnUncaughtExceptionCallback that would be implemented as following (the sample code has been simplified to remove what's not relevant to this change): bool ShouldAbortOnUncaughtException(Isolate* isolate) { return !IsDomainActive(); } Now when --abort-on-uncaught-exception is used, Isolate::Throw would call that callback and determine that it should not abort if a domain with an error handler is active. Instead, the isolate's message listener would be called and the error would be handled by the domain's error handler. I believe this can also be useful for other embedders. BUG= R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/1375933003 Cr-Commit-Position: refs/heads/master@{#31111}
-
- 01 Oct, 2015 1 commit
-
-
mvstanton authored
We need to do other things with this bindings object, like store a feedback vector. Therefore, it's a good time to wrap it up in a helper class. BUG= Review URL: https://codereview.chromium.org/1369293003 Cr-Commit-Position: refs/heads/master@{#31044}
-
- 30 Sep, 2015 1 commit
-
-
jkummerow authored
Continuing unification of properties/elements handling, the new LookupIterator::PropertyOrElement(..., Handle<Object> key, ...) takes any Object and does the required ToPrimitive/ToName/ToArrayIndex conversions on it. Review URL: https://codereview.chromium.org/1375943002 Cr-Commit-Position: refs/heads/master@{#31023}
-
- 29 Sep, 2015 4 commits
-
-
mlippautz authored
See bug description. BUG=chromium:536231 LOG=N Review URL: https://codereview.chromium.org/1378693002 Cr-Commit-Position: refs/heads/master@{#31012}
-
mstarzinger authored
This prevents the internal incremental-marking.h to be usable outisde of the "heap" directory. The logic inside that component is only useful within the GC and is now properly encapsulated. R=hpayer@chromium.org Review URL: https://codereview.chromium.org/1374203002 Cr-Commit-Position: refs/heads/master@{#31010}
-
vogelheim authored
(This is somewhat experimental; hence protected by #ifdef.) R=epertoso@chromium.org, jochen@chromium.org BUG=chromium:508898 LOG=N Review URL: https://codereview.chromium.org/1367953002 Cr-Commit-Position: refs/heads/master@{#31002}
-
bmeurer authored
This adds ES6 compliant Object::ToInteger, Object::ToInt32, Object::ToUint32 and Object::ToLength, and replaces the old Execution wrappers of those abstract operations (which were not using the correct ToPrimitive). This also introduces proper %ToInteger and %ToLength runtime entries, with a fast path %_ToInteger supported in fullcodegen and Crankshaft (for now). Internal JavaScript code should use TO_INTEGER and TO_LENGTH respectively. CQ_INCLUDE_TRYBOTS=tryserver.v8:v8_linux_layout_dbg,v8_linux_nosnap_dbg BUG=v8:4307 LOG=n Review URL: https://codereview.chromium.org/1378533002 Cr-Commit-Position: refs/heads/master@{#30993}
-
- 28 Sep, 2015 3 commits
-
-
alph authored
Drive-by: remove unnecessary includes. Review URL: https://codereview.chromium.org/1356223004 Cr-Commit-Position: refs/heads/master@{#30987}
-
jkummerow authored
Replacing it with SMI_ACCESSORS. This change makes accesses to Smi fields in objects more regular (the accessors now always consume/return an int rather than a Smi*), which avoids a bunch of manual Smi::FromInt() and Smi::value() conversions, and is a step on the way towards being able to generate objects-inl.h. Review URL: https://codereview.chromium.org/1371893002 Cr-Commit-Position: refs/heads/master@{#30975}
-
bmeurer authored
This should fix the Threading1 flakiness that we see on the waterfall. R=jarin@chromium.org Review URL: https://codereview.chromium.org/1369993002 Cr-Commit-Position: refs/heads/master@{#30967}
-
- 23 Sep, 2015 1 commit
-
-
bmeurer authored
Now both Execution::Call and Execution::New can deal with any kind of target and will raise a proper exception if the target is not callable (which is not yet spec compliant for New, as we would have to check IsConstructor instead, which we don't have yet). Now we no longer need to do any of these weird call/construct delegate gymnastics in C++, and we finally have a single true bottleneck for Call/Construct abstract operations in the code base, with only a few special handlings left in the compilers to optimize the JSFunction case. R=jarin@chromium.org BUG=v8:4430, v8:4413 LOG=n Review URL: https://codereview.chromium.org/1360793002 Cr-Commit-Position: refs/heads/master@{#30874}
-
- 17 Sep, 2015 3 commits
-
-
bmeurer authored
Currently Execution::Call (and friends) still duplicate a lot of the Call sequence logic that should be encapsulated in the Call and CallFunction builtins. So the plan now is to switch Execution::Call to accept any Callable and just pass that through to the Call builtin. CQ_INCLUDE_TRYBOTS=tryserver.v8:v8_linux_nosnap_dbg R=jarin@chromium.org BUG=v8:4413 LOG=n Committed: https://crrev.com/359645f48156e15f235e9a9ede7910e0bcd9ae45 Cr-Commit-Position: refs/heads/master@{#30791} Review URL: https://codereview.chromium.org/1353723002 Cr-Commit-Position: refs/heads/master@{#30808}
-
machenbach authored
Revert of [runtime] Initial step towards switching Execution::Call to callable. (patchset #1 id:1 of https://codereview.chromium.org/1353723002/ ) Reason for revert: [Sheriff] Causes a dcheck failure in layout tests (and some test changes in release): https://storage.googleapis.com/chromium-layout-test-archives/V8-Blink_Linux_64__dbg_/1442/layout-test-results/virtual/android/fullscreen/api/element-request-fullscreen-top-stderr.txt from http://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064%20%28dbg%29/builds/1442 Original issue's description: > [runtime] Initial step towards switching Execution::Call to callable. > > Currently Execution::Call (and friends) still duplicate a lot of the > Call sequence logic that should be encapsulated in the Call and > CallFunction builtins. So the plan now is to switch Execution::Call > to accept any Callable and just pass that through to the Call builtin. > > CQ_INCLUDE_TRYBOTS=tryserver.v8:v8_linux_nosnap_dbg > R=jarin@chromium.org > BUG=v8:4413 > LOG=n > > Committed: https://crrev.com/359645f48156e15f235e9a9ede7910e0bcd9ae45 > Cr-Commit-Position: refs/heads/master@{#30791} TBR=jarin@chromium.org,bmeurer@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:4413 Review URL: https://codereview.chromium.org/1346763005 Cr-Commit-Position: refs/heads/master@{#30793}
-
bmeurer authored
Currently Execution::Call (and friends) still duplicate a lot of the Call sequence logic that should be encapsulated in the Call and CallFunction builtins. So the plan now is to switch Execution::Call to accept any Callable and just pass that through to the Call builtin. CQ_INCLUDE_TRYBOTS=tryserver.v8:v8_linux_nosnap_dbg R=jarin@chromium.org BUG=v8:4413 LOG=n Review URL: https://codereview.chromium.org/1353723002 Cr-Commit-Position: refs/heads/master@{#30791}
-
- 15 Sep, 2015 1 commit
-
-
bmeurer authored
Move the implementation of the Abstract Equality Comparison to the runtime and thereby remove the EQUALS dispatcher builtin. Also remove the various runtime entry points that were only used to support the EQUALS builtin. Now the Abstract Equality Comparison is also using the correct ToPrimitive implementation, which properly supports @@toPrimitive. CQ_INCLUDE_TRYBOTS=tryserver.v8:v8_linux_layout_dbg,v8_linux_nosnap_dbg R=mstarzinger@chromium.org BUG=v8:4307 LOG=n Review URL: https://codereview.chromium.org/1337993005 Cr-Commit-Position: refs/heads/master@{#30747}
-
- 10 Sep, 2015 2 commits
-
-
bmeurer authored
Replace the ADD, SUB, etc. builtins with proper runtime implementations, and expose them as runtime calls that can be used by the code stubs and the interpreter (for now). Also remove all the support runtime functions for ADD, SUB and friends, namely %NumberAdd, %NumberSub, and so on. R=mstarzinger@chromium.org CQ_INCLUDE_TRYBOTS=tryserver.v8:v8_linux_layout_dbg,v8_linux_nosnap_dbg Review URL: https://codereview.chromium.org/1333843002 Cr-Commit-Position: refs/heads/master@{#30680}
-
cbruni authored
BUG= Review URL: https://codereview.chromium.org/1330153003 Cr-Commit-Position: refs/heads/master@{#30676}
-
- 07 Sep, 2015 1 commit
-
-
fedor authored
Move various ArrayBuffer-related methods from Heap class to the newly created ArrayBufferTracker. Consolidate and simplify things! BUG= R=mlippautz@chromium.org Review URL: https://codereview.chromium.org/1324023007 Cr-Commit-Position: refs/heads/master@{#30624}
-
- 03 Sep, 2015 1 commit
-
-
bmeurer authored
This turns the has_instance_call_handler bit on Map into an is_callable bit, that matches the spec definition of IsCallable (i.e. instances have [[Call]] internal methods). Also fix the typeof operator to properly say "function" for everything that is callable. Also remove the (unused) premature %_GetPrototype optimization from Crankshaft, which just complicated the Map bit swap. R=mstarzinger@chromium.org, rossberg@chromium.org, yangguo@chromium.org CQ_INCLUDE_TRYBOTS=tryserver.v8:v8_linux_layout_dbg Review URL: https://codereview.chromium.org/1316933002 Cr-Commit-Position: refs/heads/master@{#30552}
-
- 02 Sep, 2015 1 commit
-
-
mstarzinger authored
Note that this is only pulling out the bookkeeping side of things, the marking visitor that actually records the statistics should also move into the ObjectStats class. That will be done as a follow-up. R=mlippautz@chromium.org Review URL: https://codereview.chromium.org/1326793002 Cr-Commit-Position: refs/heads/master@{#30547}
-
- 01 Sep, 2015 1 commit
-
-
mstarzinger authored
This CL us a pure refactoring that makes an empty compilation unit including just "isolate.h" or "contexts.h" but not "objects-inl.h" compile without warnings or errors. This is needed to further reduce the header dependency tangle. R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/1322883002 Cr-Commit-Position: refs/heads/master@{#30500}
-
- 31 Aug, 2015 3 commits
-
-
mlippautz authored
R=mstarzinger@chromium.org BUG=chromium:526244 LOG=N Review URL: https://codereview.chromium.org/1325643002 Cr-Commit-Position: refs/heads/master@{#30478}
-
hablich authored
Revert of [heap] More flag cleanup. (patchset #8 id:140001 of https://codereview.chromium.org/1314863003/ ) Reason for revert: Breaks http://build.chromium.org/p/client.v8/builders/V8%20Arm%20-%20debug%20-%202/builds/2372 Original issue's description: > [heap] GC flag cleanup/restructuring. > > * GC's flags are now proper flags and not int. > * Callback flags are not threaded through but only set once like gc flags > * Callers of methods that trigger GCs need to pass a reason when not using > the default parameters. > > Furthermore, each GC invocation can be passed the GC and GCCallback flags. We > usually override the currently set flags upon finishing a GC cylce, but are able > to restore the previously set if desired. This is useful for explicitely > triggered scavenges or external requests that interrupt the current behaviour. > > BUG= > > Committed: https://crrev.com/f4f3b431b9ce0778d926acf03c0d36dae5c0cba4 > Cr-Commit-Position: refs/heads/master@{#30457} TBR=hpayer@chromium.org,yangguo@chromium.org,mlippautz@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= Review URL: https://codereview.chromium.org/1303393004 Cr-Commit-Position: refs/heads/master@{#30463}
-
mlippautz authored
* GC's flags are now proper flags and not int. * Callback flags are not threaded through but only set once like gc flags * Callers of methods that trigger GCs need to pass a reason when not using the default parameters. Furthermore, each GC invocation can be passed the GC and GCCallback flags. We usually override the currently set flags upon finishing a GC cylce, but are able to restore the previously set if desired. This is useful for explicitely triggered scavenges or external requests that interrupt the current behaviour. BUG= Review URL: https://codereview.chromium.org/1314863003 Cr-Commit-Position: refs/heads/master@{#30457}
-
- 28 Aug, 2015 1 commit
-
-
bmeurer authored
This is the first step towards a spec compliant ToPrimitive implementation (and therefore spec compliant ToNumber, ToString, ToName, and friends). It adds support for the @@toPrimitive symbol that was introduced with ES2015, and also adds the new Symbol.prototype[@@toPrimitive] and Date.prototype[@@toPrimitive] initial properties. There are now runtime functions for %ToPrimitive, %ToNumber and %ToString, which do the right thing and should be used as fallbacks instead of the hairy runtime.js implementations. I will do the same for the other conversion operations mentioned by the spec in follow up CLs. Once everything is in place we can look into optimizing things further, so that we don't always call into the runtime. Also fixed Date.prototype.toJSON to be spec compliant. R=mstarzinger@chromium.org, yangguo@chromium.org BUG=v8:4307 LOG=y Review URL: https://codereview.chromium.org/1306303003 Cr-Commit-Position: refs/heads/master@{#30434}
-
- 27 Aug, 2015 2 commits
-
-
mstarzinger authored
R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/1306043003 Cr-Commit-Position: refs/heads/master@{#30409}
-
yangguo authored
R=bmeurer@chromium.org, mstarzinger@chromium.org, rmcilroy@chromium.org Review URL: https://codereview.chromium.org/1316943002 Cr-Commit-Position: refs/heads/master@{#30402}
-
- 26 Aug, 2015 4 commits
-
-
mstarzinger authored
R=rossberg@chromium.org Review URL: https://codereview.chromium.org/1305383003 Cr-Commit-Position: refs/heads/master@{#30387}
-
mstarzinger authored
R=rossberg@chromium.org Review URL: https://codereview.chromium.org/1314053003 Cr-Commit-Position: refs/heads/master@{#30385}
-
mstarzinger authored
R=rossberg@chromium.org Review URL: https://codereview.chromium.org/1312413002 Cr-Commit-Position: refs/heads/master@{#30384}
-
mstarzinger authored
R=mlippautz@chromium.org Review URL: https://codereview.chromium.org/1312553003 Cr-Commit-Position: refs/heads/master@{#30372}
-
- 21 Aug, 2015 1 commit
-
-
mstarzinger authored
R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/1303873002 Cr-Commit-Position: refs/heads/master@{#30282}
-
- 19 Aug, 2015 3 commits
-
-
adamk authored
Zero-length ArrayBuffers are allowed to have NULL backing stores. BUG=522496 LOG=n Review URL: https://codereview.chromium.org/1302803003 Cr-Commit-Position: refs/heads/master@{#30259}
-
titzer authored
R=rossberg@chromium.org BUG= Review URL: https://codereview.chromium.org/1301583005 Cr-Commit-Position: refs/heads/master@{#30254}
-
jkummerow authored
Embedders must not provide invalid pointers for external backing stores. BUG=chromium:522128 LOG=n R=cbruni@chromium.org Review URL: https://codereview.chromium.org/1289373004 Cr-Commit-Position: refs/heads/master@{#30243}
-
- 18 Aug, 2015 2 commits
-
-
mlippautz authored
* Add types to properly report what has been executed in the GC * Unify GCPrologueCallback and GCEpilogueCallback into GCCallback * Report processing of second round weak handels, either synchronously or asynchronously BUG=chromium:521946 LOG=N Review URL: https://codereview.chromium.org/1298113003 Cr-Commit-Position: refs/heads/master@{#30218}
-
yangguo authored
Reland of move property loads from js builtins objects from runtime. (patchset #1 id:1 of https://codereview.chromium.org/1297803003/ ) Reason for revert: Debug isolate failure has nothing to do with this CL. Original issue's description: > Revert of Remove property loads from js builtins objects from runtime. (patchset #2 id:20001 of https://codereview.chromium.org/1293113002/ ) > > Reason for revert: > Still failures in debug-isolates tests > > Original issue's description: > > Remove property loads from js builtins objects from runtime. > > > > R=cbruni@chromium.org > > > > Committed: https://crrev.com/40f6e80d22d2e146b781aa661b76087ab9a492c4 > > Cr-Commit-Position: refs/heads/master@{#30199} > > > > Committed: https://crrev.com/f22d0f205031054a5f3116e052c81ae85741e8e0 > > Cr-Commit-Position: refs/heads/master@{#30209} > > TBR=cbruni@chromium.org,hpayer@chromium.org > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > > Committed: https://crrev.com/4106a4cbb701b5fe7d0b639e28a4ebfca5c05630 > Cr-Commit-Position: refs/heads/master@{#30213} TBR=cbruni@chromium.org,hpayer@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1298733003 Cr-Commit-Position: refs/heads/master@{#30215}
-